list集合的特点:单列集合,有序集合,可重复集合。
ArrayList集合:
1、加可以加null,而且可以加多个null。
2、底层是数组实现的,线程不安全的。
LikedList集合:
除了底层数据结构是双向链表和双端队列之外,其他的特征都和ArrayList集合一样。
增、删数据的时候,通过改变该节点的前后节点的指向关系实现的,不牵扯数组,不扩容,效率更高。
迭代器遍历List集合
迭代器中的三个方法
- 检查是否有尚未访问的元素。hasNext()
- 访问集合中的下一个元素并返回此元素。next()
- 删除集合的最后访问元素。delete()
//通过集合获取迭代器
Iterator it = 集合.iterator();
//迭代器遍历集合
ArrayList arr=new ArrarList();
arr.add("A");
arr.add("B");
Iterator it=arr.iterator();
//如果有就返回true,没有则为反
while(it.hasNext()){
//获取元素
String element=it.next();
}
for-each遍历集合(增强for循环)
List<String> names = new ArrayList<>();
names.add("A");
names.add("B");
names.add("C");
/*
使用foreach循环的三个参数
1、类型
2、自定义的别名
3、数组或者集合
*/
for(String ele:names){
System.out.pringln(ele);
}
我们不能使用for-each循环从集合中删除元素。
对于for-each循环,我们没有办法从集合的中间开始。
Set集合:
单列集合,无序集合(添加和取出的顺序不一样),不可重复(set仅有一个null)
底层:HashSet