list集合的三种遍历方式
1.list集合的介绍
list集合的实现类有三种,分别是ArrayList,LinkList,Vector。
1.底层数据结构
ArrayList、Vector底层依赖数组,查询效率较高,增删效率较低(因为Vector是线程安全的,整体效率比ArrayList低)
LinkedList底层依赖双向循环链表,增删效率较高,查询效率较低
2.存储元素方面
ArrayList、Vector、LinkedList中的元素有序、可重复、允许null值
3.扩容方面
ArrayList一次扩容1.5倍
Vector根据增量扩容,增量为0,扩容2倍;否则原容量+增量
LinkedList没有扩容
4.线程安全方面
ArrayList、LinkedList线程不安全(如果有多个线程需要同时访问List集合中的元素,可以考虑使用Collections将集合包装成线程安全的集合)
Vector线程安全。
2.下面来介绍一下ArrayList集合的三种遍历方式
(1)创建一个ArrayList的案例。如下图所示:
List<String> list = new ArrayList<String>();
list.add("list1");
list.add("list2");
list.add("list3");
list.add("list4");
(2)第一种遍历方式,for循环遍历,此种方式可以通过集合的下标来获取特定的值,遍历方式如下所示:
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
(3)第二种方式:增强for循环遍历,此种方式代码简洁。在eclipse中或者是sts中通过输入fore在通过提示,即可快速的使用增强for循环。遍历方式如下图所示:
for (String string : list) {
System.out.println(string);
}
(4)第三种方式:迭代器方式
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {
String next = iterator.next();
System.out.println(next);
}