1、集合的特点
集合和数组的特点对比
集合类和特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变。
集合和数组的区别
相同点:都是储存数据的容器
不同点:数组的容量时固定的,集合的容量时可变的
如果存储的数据,长度经常发生改变,推荐使用集合Student[] arr = new Student[3];
可以创建对象数组,但是对象数组长度不可变。
2、ArrayList集合的构造方法和添加方法
ArrayList的构造方法
public ArrayList()
构造一个初始容量为10的空列表
注意:集合容器如果没有加入<>
就可以存储任意数据类型<>
泛型:对集合容器存储的数据类型进行限制ArrayList<E>
:
可调整大小数组实现
<E>
是一种特殊的数据类型,泛型
怎么用呢?
在出现E的地方使用引用数据类型进行替换即可
举例:ArrayList<String>
,ArrayList<Student>
成员方法
添加:public boolean add(E e)
将指定的元素添加到此列表的尾部。public void add(int index, E element)
将指定的元素插入此列表中的指定位置。
import java.util.ArrayList;
public class Demo1ArrayList {
public static void main(String[] args) {
ArrayList<String> stuArr = new ArrayList<>();
stuArr.add("111");
stuArr.add("222");
stuArr.add("333");
stuArr.add(0,"555");
System.out.println(stuArr);
}
}
3、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()
返回集合中的元素的个数
4、ArrayList集合遍历
import java.util.ArrayList;
public class Demo3ArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
5、删除集合元素
import java.util.ArrayList;
public class Demo5ArrayList {
public static void main(String[] args) {
ArrayList<String> sArr = new ArrayList<>();
sArr.add("Test");
sArr.add("张三");
sArr.add("李四");
sArr.add("王五");
sArr.add("Test");
sArr.add("Test");
sArr.add("Test");
for (int i = 0; i < sArr.size(); i++) {
String s = sArr.get(i);
if ("Test".equals(s)){
sArr.remove(i);
i--;
}
}
System.out.println(sArr);
}
}
在进行字符串比较的时候:遇到常量和变量比较,使用常量.equals(变量)
可以预防空指针异常。
当remove集合不是最后一个元素的时候,所有集合元素会向填充,所以要想遍历所有元素,需要将i
减一。