Collection接口是集合的老祖宗,定义了接口的基本方法。
List是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩展,List集合里的元素是可以重复的。
List接口的主要实现类有ArrayList,和LinkedList。
在数据量不大的情况下,这两个类性能差别不大,
一般情况下,集合里的元素很少变化的,一般用ArrayList,
假如集合里元素经常变动,要用LinkedList;底层实现有差别的。
package com.xuyigang1234.chp06.sec01;import java.util.ArrayList;public class TestArrayList {// 打印列表元素public static void printArrayList(ArrayListarrayList) {System.out.println("列表元素是:");for(int i=0;i ) {System.out.print(arrayList.get(i)+" ");}}public static void main(String[] args) {ArrayList arrayList = new ArrayList ();arrayList.add("Java1");arrayList.add("Java2");arrayList.add("Java3");arrayList.add("Java4");arrayList.add(1, "小张三");printArrayList(arrayList);}}
输出:
列表元素是:
Java1 小张三 Java2 Java3 Java4
package com.xuyigang1234.chp06.sec01;import java.util.LinkedList;public class TestLinkedList {private static void pringLinkedList(LinkedListlinkedList){System.out.println("当前元素的集合:");for(int i=0;i ){System.out.print(linkedList.get(i)+" ");}System.out.println();}public static void main(String[] args) {LinkedList linkedList=new LinkedList ();linkedList.add("张三");linkedList.add("李四");linkedList.add("王五");linkedList.add("李四");linkedList.add("赵六");pringLinkedList(linkedList);// indexOf 寻找位置System.out.println(linkedList.indexOf("李四"));pringLinkedList(linkedList);// peekFirst 获取第一个元素 System.out.println(linkedList.peekFirst());pringLinkedList(linkedList);// peekLast 获取最后一个元素 System.out.println(linkedList.peekLast());pringLinkedList(linkedList);// pollFirst 摘取第一个元素 System.out.println(linkedList.pollFirst());pringLinkedList(linkedList);// pollLast 榨取最后一个元素 System.out.println(linkedList.pollLast());pringLinkedList(linkedList);}}
当前元素的集合: 张三 李四 王五 李四 赵六 1 当前元素的集合: 张三 李四 王五 李四 赵六 张三 当前元素的集合: 张三 李四 王五 李四 赵六 赵六 当前元素的集合: 张三 李四 王五 李四 赵六 张三 当前元素的集合: 李四 王五 李四 赵六 赵六 当前元素的集合: 李四 王五 李四