Java笔记_014_集合基础
集合基础
集合概述
集合类的特点:提供一中存储空间可变的存储模型,存储的数据容量可以发生变化
集合类有很多,目前先我们学习一个:ArrayList
ArrayList<E>:
- 可调整大小的数据实现
- 是一种特殊的数据类型,泛型
怎么用呢?
在出现E的地方我们使用引用数据类型替换掉即可
举例:
ArrayList<String>, ArrayList<Student>
ArrayList
构造方法和添加方法
方法 | 说明 |
---|---|
public ArrayList() | 创建一个空的集合对象 |
public boolean add(E e) | 将指定的元素追加到此集合的末尾 |
public void add(int index, E element) | 在此集合的指定位置插入指定元素 |
ArrayList<String> array = new ArrayList<>();
// ArrayList<String> array = new ArrayList<String>();
System.out.println("array: " + array); // out: array: []
array.add("Hello"); // 返回值是boolean
array.add("world");
System.out.println("array: " + array); // out: array: [Hello, world]
array.add(0, "SoLi");
System.out.println("array: " + array); // out: array: [Soli, Hello, world]
ArrayList
集合的常用方法
方法名 | 说明 |
---|---|
public boolean remove(Object o) | 删除指定元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引位置的位置,返回被删除的元素 |
public E set(int index, E element) | 修改指定索引值的位置,返回被修改的元素 |
public E get(int index) | 返回指定索引处的位置 |
public int size() | 返回集合中的元素个数 |
删除:
ArrayList<String> array = new ArrayList<>();
array.add("Soli");
array.add("Hello");
array.add("world");
System.out.println(array); // out: [Soli, Hello, world]
array.remove("Soli");
System.out.println(array); // out: [Hello, world]
array.remove(0);
System.out.println(array); // out: [world]
其他:
ArrayList<String> array = new ArrayList<>();
array.add("Soli");
array.add("Hello");
array.add("world");
System.out.println(array); // out: [Soli, Hello, world]
array.set(0, "COCO");
System.out.println(array); // out: [COCO, Hello, world]
// get 不会改变原集合的内容
System.out.println(array.get(0)); // out: COCO
// size不会改变原集合的内容
System.out.println(array.size()); // out: 3
小案例
用集合存储一个学生对象,并遍历
// 创建集合对象
ArrayList<Student> array = new ArrayList<>();
// 创建学生对象
Student s1 = new Student("SoLi", 17);
Student s2 = new Student("CoCo", 18);
Student s3 = new Student("Xu", 17);
// 添加学生对象到集合中
array.add(s1);
array.add(s2);
array.add(s3);
// 遍历
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.println(s.getName() + "," + s.getAge());
}