ArrayList
ArrayList:底层由可以调整大小的数组实现
集合与数组的区别:
1.相同点:都是存储数据的容器
2.不同点:数组的容量是固定的,集合的容量是可变的
ArrayList的构造方法和添加方法
public ArrayList() 创建一个空的集合对象
public boolean add(E element) 将指定的元素追加到此集合的末尾
public void add(int index,E element) 在此集合中的指定位置插入指定的元素
ArrayList构造方法:
ArrayList() 构造一个初始容量为10的空列表
成员方法:
添加:boolean add(E e) 将指定的元素添加到此列表的尾部。
void add(int index, E element) 将指定的元素插入此列表中的指定位置。
注意:
集合容器如果没有加入<> 就可以存储任意数据类型
<> 泛型: 对集合容器存储的数据类型进行限制
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的相关操作:
1.集合的遍历
需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合
思路:
1. 创建集合对象
2. 往集合中添加字符串对象
3. 遍历集合
获取到集合中的每一个元素,这个通过get(int index)方法实现
获取到集合的长度,这个通过size()方法实现
代码实现:
// 1. 创建集合对象
ArrayList<String> list = new ArrayList<>();
// 2. 往集合中添加字符串对象
list.add("张三");
list.add("李四");
list.add("王五");
// 3. 遍历集合
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.println(s);
}
2.删除集合中指定的相同元素
需求:创建一个存储String的集合
内部存储(test,张三,李四,test,test)字符串
删除所有的test字符串,删除后,将集合剩余元素打印在控制台
思路:
1. 创建集合对象
2. 调用add方法,添加字符串
3. 遍历集合,取出每一个字符串元素
4. 加入if判断,如果是test字符串,调用remove方法删除
5. 打印集合元素
// 注意: 根据元素进行删除, 只能删除集合中的第一个元素
list.remove("test");
代码实现:
// 1. 创建集合对象
ArrayList<String> list = new ArrayList<>();
// 2. 调用add方法,添加字符串
list.add("test");
list.add("张三");
list.add("李四");
list.add("test");
list.add("test");
// 3. 遍历集合,取出每一个字符串元素
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
// 4. 加入if判断,如果是test字符串,调用remove方法删除
//if(s.equals("test")){}
if("test".equals(s)){
list.remove(i);
i--;//必须添加,因为删除一个元素之后此元素之后的元素一次向前移动一个位置
}
}
System.out.println(list);
}