Java集合基础
一、集合ArrayList概述:
编程的时候如果存储多个数据,使用长度固定的数组储存格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择? (集合)
集合:提供了一种存储空间可变的存储模型,存储的数据容量可以发生改变
集合类有很多,目前我们学习:ArrayList
ArrayList<E>:
可以调整大小的数组实现
<E>:是一种特殊的数据类型,泛型(可以参考C++中的模板)
怎么用?
更改E为我们使用引用数据类型替换即可,如类名
二、ArrayList构造方法和添加方法
方法名 | 说明 |
---|---|
public ArrayList() | 创建一个空的集合对象 |
public boolean add(E e) | 指定的元素追加到此集合的末尾(尾插) |
public void add(int index, E element) | 在此集合中的指定位置插入元素 |
package com.itheima;
/*
测试ArrayList类的 构造 和 添加 方法
*/
//导包
import java.util.ArrayList;
public class ArrayListDemo01 {
public static void main(String[] args){
//public ArrayList(); 创建一个空的集合对象
ArrayList<String> array = new ArrayList<String>(); //<>中只能是引用类型
//使用public boolean add(E e); 来尾插元素,返回值表示 添加成功或者失败
array.add("hello");
array.add("world");
//使用public void add(int index, E element); 在指定下标位置添加元素
array.add(0, "JavaSE"); //注意:任意下标条件位范围:0~n
//输出集合
System.out.println("array:" + array);
//通过size方法来获取长度
System.out.println(array.size());
}
}
三、ArrayList集合的常用方法
方法名 | 说明 |
---|---|
public boolean remove(Object to) | 删除指定的元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引处元素,返回被删除的元素 |
public E set(int index, E element) | 修改指定索引处元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中元素个数 |
package com.itheima01;
/*
测试ArrayList的常用方法:
*/
//导包
import java.util.ArrayList;
public class ArrayListDemo02 {
public static void main(String[] args) {
//创建集合
ArrayList<String> array = new ArrayList<String>();
//添加元素
array.add("hello");
array.add("world");
array.add("Java");
//一、public boolean remove(Object o); 删除指定元素,返回删除是否成功
//System.out.println(array.remove("world"));
//System.out.println(array.remove("javaee"));
//二、public E remove(int index); 删除指定索引处的元素,返回被删除的元素
//System.out.println(array.remove(0));
//报错信息:IndexOutOfBoundsException 索引越界
//System.out.println(array.remove(3));
//三、public E set(int index, E element); 修改指定索引元素,返回被修改的元素
//System.out.println(array.set(1, "hello")); //同样防止索引越界
//四、public E get(int index); 返回指定索引处的元素
//System.out.println(array.get(2)); //同样防止索引越界
//五、public int size(); 返回集合中元素个数
System.out.println(array.size());
//输出集合
System.out.println("array:" + array);
}
}
四、ArrayList集合案例
1、存储字符串并遍历:
package com.itheima02;
/*
实现案例存储字符串并建立
*/
//导包
import java.util.ArrayList;
public class ArrayListTest01 {
public static void main(String[] args){
//创建空的ArrayList对象
ArrayList<String> array = new ArrayList<String>();
//在集合中添加字符串对象
array.add("张三");
array.add("李四");
array.add("王五");
//遍历集合
System.out.print("[");
for(int i = 0; i < array.size(); i++){
if(i != array.size() - 1){
System.out.print(array.get(i));
System.out.print(",");
}
else{
System.out.print(array.get(i));
}
}
System.out.println("]");
}
}
2、存储学生对象并遍历:
package com.itheima02;
/*
创建一个学生类
*/
public class Student {
//成员属性
private String name;
private int age;
//构造方法 注:构造方法无返回值 也不需要写void
public Student(){};
public Student(String name, int age){
this.name = name;
this.age = age;
}
//set/get/show方法
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
public void show(){
System.out.println("name:" + name + "," + "age:" + age);
}
}
package com.itheima02;
/*
实现存储学生对象并遍历
*/
//导包
import java.util.ArrayList;
public class ArrayListTest02 {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> arr = new ArrayList<Student>();
//添加三个对象
arr.add(new Student("张三", 30));
arr.add(new Student("李四", 28));
arr.add(new Student("王五", 29));
//遍历输出
for(int i = 0; i < arr.size(); i++){
Student stu = arr.get(i);
System.out.println("name:" + stu.getName() + "," + "age:" + stu.getAge());
}
}
}
3、升级版存储学生对象并遍历:
package com.itheima02;
/*
创建一个学生类
*/
public class Student {
//成员属性
private String name;
private int age;
//构造方法 注:构造方法无返回值 也不需要写void
public Student(){};
public Student(String name, int age){
this.name = name;
this.age = age;
}
//set/get/show方法
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
public void show(){
System.out.println("name:" + name + "," + "age:" + age);
}
}
package com.itheima02;
/*
存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
学生的姓名和年龄来自于键盘录入
*/
//导包
import java.util.Scanner;
import java.util.ArrayList;
public class ArrayListTest03 {
public static void main(String[] args){
//创建集合对象
ArrayList<Student> arr = new ArrayList<Student>();
//为了提高代码的复用性,我们用方法来改进程序
//调用方法:
addStudent(arr);
addStudent(arr);
addStudent(arr);
//遍历输出数据
for(int i = 0; i < arr.size(); i++){
System.out.println("姓名:" + arr.get(i).getName() + "," + "年龄:" + arr.get(i).getAge());
}
}
/*
两个明确:
返回值类型:void
参数:ArrayList<Student> array
*/
public static void addStudent(ArrayList<Student> array){
//创建Scanner对象用于接收数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生序号:");
int age = sc.nextInt();
//创建学生对象
Student s = new Student();
s.setName(name);
s.setAge(age);
//在集合中添加数据
array.add(s);
}
}
标签:Java,name,ArrayList,基础,System,age,集合,array,public
From: https://www.cnblogs.com/fragmentary/p/16745656.html