List:
ArrayList: 底层数据是数组,查询快,增删慢
线程不安全,效率高
Vector:底层数据是数据,查询慢,增删慢
线程安全,效率低
LinkedList:底层数据是链表,查询慢,增删快
线程不安全,效率高
ArrayList:
例:使用list添加元素并遍历
public static void main(String[] args) { //创建集合对象 ArrayList arrayList = new ArrayList(); //添加元素 arrayList.add("tiger"); arrayList.add("lion"); arrayList.add("penguin"); //遍历元素 //使用迭代器进行遍历 Iterator iterator = arrayList.iterator(); while (iterator.hasNext()){ String string = (String) iterator.next(); System.out.println(string); } System.out.println("--------------------"); //使用for循环进行遍历 for (int i = 0 ; i < arrayList.size() ; i ++){ System.out.println(arrayList.get(i)); } }
使用ArrayList添加对象并遍历
对象可以直接使用迭代器进行类型转换,使用for循环进行遍历时,注意类型转换,先强转获取到对象,然后在通过get方法,获取到自己想要的元素。
Vector:
特有功能: 添加功能: pubilc void addElement(Object obj) add
获取功能:public Object elementAt(int index) get
public Enumeration elements() Iterator
案例:
JDK中的老方法
public static void main(String[] args) { //创建集合对象 Vector vector = new Vector(); //添加功能 vector.addElement("cat"); vector.addElement("dog"); vector.addElement("bird"); //遍历 for (int i = 0 ; i < vector.size() ; i++ ){ System.out.println(vector.elementAt(i)); } System.out.println("======================="); Enumeration enumeration = vector.elements(); while (enumeration.hasMoreElements()){ System.out.println(enumeration.nextElement()); } }
LinkedList:
特有功能: 添加功能: addFirst(Object obj)
addLast(Object obj) 添加最后一个 意义不大
获取功能: getFirst()
getLast()
删除功能: removeFirst() 删除并返回该元素
removeLast()