1、ArrayList
ArrayList是大小可变列表的实现,允许任何数据加入。
/**
* arrayListTest
*/
public static void arrayListTest(){
ArrayList arrayList = new ArrayList();
arrayList.add(1);
arrayList.add("xx");
arrayList.add(1L);
arrayList.forEach(array -> System.out.println(array));
}
2、Vector
Vector同样是大小可变列表的实现,与ArrayList不同的是,Vector的add等相关方法是同步的。
public synchronized boolean add(E e);
代码示例
/**
* vectorTest
*/
public static void vectorTest(){
Vector vector = new Vector();
vector.add(1);
vector.add("xx");
vector.add(1L);
vector.forEach(array -> System.out.println(array));
}
3、LinkedList
实现了双向队列的控制,包括头尾的操作,可用于堆栈和FIFO操作等。
/**
* linkedListTest
*/
public static void linkedListTest(){
LinkedList linkedList = new LinkedList();
linkedList.add(1);
linkedList.add("xx");
linkedList.add(1L);
linkedList.forEach(array -> System.out.println(array));
}
4、Stack
Stack集成自 Vector,提供了LIFO的堆栈操作方式。
/**
* stackTest
*/
public static void stackTest(){
Stack stack = new Stack();
stack.add(1);
stack.add("xx");
stack.add(1L);
stack.forEach(array -> System.out.println(array));
}
5、java中把数组转换为ArrayList的几种方式
//方法1、较好
ArrayList<Element> arrayList = new ArrayList<Element>(Arrays.asList(array));
//方法2、不太好
//返回的列表的大小是固定的,list不是java.util.ArrayList,而是 java.util.Arrays 中一个私有静态类
//如果再执行添加或删除列表中的元素
List<Element> list = Arrays.asList(array);
//方法3、
Element[] array = {new Element(1), new Element(2)};
List<element> list = new ArrayList<element>(array.length);
Collections.addAll(list, array);