List是有序的,通常允许重复的元素。
ArrayList 和LinkedList 的区别:
- ArrayList:遍历元素和随机访问元素的效率比较高,插入、删除等操作频繁时性能低下。(数组实现)
- LinkedList:插入删除时效率较高,查找效率较低。(链表实现)
Vector 和 ArrayList的区别
- 二者都是用数组实现。
- ArrayList:轻量级,速度快,线程不安全。
- Vector:重量级,速度慢,线程安全(不会产生同步问题)。是JDK1.0遗留下的产物。
Java list的三种遍历
import java.util.Iterator;
import java.util.ArrayList;
public class List {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(1);
list.add("hello");
list.add('A');
list.add("nn");
System.out.println(list.toString());//返回字符串格式的对象值
System.out.println("第一种----------------");
for(int i = 0; i < list.size();i++){
System.out.println(list.get(i));
}
System.out.println("第二种---------------");
for(Object o : list){
System.out.println(o);
}
System.out.println("第三种--------------------");
//迭代遍历
Iterator iter = list.iterator();//Iterator 是一个接口类型,接口类型 没有对象,调用 iterator 方法,返回的一定是 Iterator 接口的某个实现类的对象。
while(iter.hasNext()){ //hasNext的返回值作为循环条件,判断list后面是否还有其他条件
Object oj = iter.next(); //调用 next()方法,一方面把迭代器向后移动,另外 一方面一一返回 List 中元素的值。
System.out.println(oj);
}
}
}