List是Collection的子接口,故不能实例化,可通过他的子集进行实例化,可重复,且存储顺序和取出顺序一致
List的子类有ArrayList,Vector,LinkedList
ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高。
Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低。
LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,效率高。
下面是List的定义及遍历:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("world");
list.add("java");
//集合的遍历
Iterator<String> it = list.iterator();//迭代器遍历集合
while(it.hasNext()) {
System.out.println(it.next());
}
for(String s : list) {
System.out.println(s);
}
}
}
ArrayList和List差不多:
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("hello");
list.add("world");
list.add("java");
//集合的遍历
Iterator<String> it = list.iterator();//迭代器遍历集合
while(it.hasNext()) {
System.out.println(it.next());
}
for(String s : list) {
System.out.println(s);
}
}
}
运行结果: