LinkedList类
1.LinkedList类用于创建链表数据结构。
2.链表中元素的数量不受任何限制,可以随意的添加和删除。
3.与ArrayList相比,如果需要频繁的添加和删除元素,LinkedList的性能更加优越。
4.LinkedList类继承了AbstractSequentialList类,并实现了List接口。
LinkedList类常用方法:
//返回链表的大小,即元素的数量 int size() //判断链表是否为空,为空返回true,否则返回false boolean isEmpty() //清空链表中的所有元素,使其成为空链表 void clear() //向链表中添加一个元素,该元素,该元素可以是任何类的对象 boolean add(Object element) //从链表中删除指定索引位置的元素 Object remove(int index) //返回指定索引位置的元素 Object get(int index) //将元素elem存储到由index指定的索引位置上 Object set(int index, Object elem) //判断element在链表中是否存在,存在返回对应的索引,否则返回-1 int indexOf(Object element) //将指定元素添加到链表的开始处 void addFirst(Object element) //将指定元素添加到链表的结尾处 void addLast(Object element) //删除链表中的第一个元素 Object removeFirst() //删除链表中的最后一个元素 Object removeLast() //返回链表中的第一个元素 Object getFirst() //返回链表中的最后一个元素 Object getLast()
测试案例:
public class LinkedListTest { public static void main(String[] args) { //创建一个空的链表 List<Double> linkedList = new LinkedList<Double>(); //循环添加 for (int i=1; i<=10; i++){ //创建一个Double类型的对象 Double temp = new Double(Math.sqrt(i)); //把这个对象添加到链表集合中 linkedList.add(temp); } //打印链表集合中的元素 for (int i=0; i<linkedList.size(); i++){ System.out.println(linkedList.get(i)); } //删除第一个元素 ((LinkedList<Double>) linkedList).removeFirst(); //删除最后一个元素 ((LinkedList<Double>) linkedList).removeLast(); //删除首尾元素之后再次打印元素 System.out.println("删除首尾元素之后的链表集合:"); for (int i=0; i<linkedList.size(); i++){ System.out.println(linkedList.get(i)); } } }
Vector类
1.Vector类与ArrayList类和LinkedList很相似,最大的区别在于Vector是线程同步的。
2.如果在多线程的程序中要使用到集合框架,并且不希望线程与线程之间互相干扰,那么Vector是不错的选择。
3.Vector类继承于AbstractList类,并实现了List接口。
Vector常用的方法:
//返回Vector对象的大小,即元素的数量 int size() //判断Vector对象是否为空,为空返回true,否则返回false boolean isEmpty() //清空Vector对象中的所有元素 void clear() //向Vector对象中添加一个元素,该元素可以是任何类的对象 boolean add(Object element) //从Vector中删除指定索引位置的元素 Object remove(int index) //返回指定索引位置的元素 Object get(int index) //将元素elem存放到由index知道你个的索引位置上 Object set(int index, Object elem) //判断element在Vector对象中是否存在,存在返回对应的索引,否则返回-1 int indexOf(Object element) //返回Vector对象的容量,既可以存放元素的个数 int capacity() //将指定元素插入到Vector对象的末尾处 void addElement(Object element) //将指定元素插入到指定索引位置 void insertElementAt(Object elem, int index) //将指定对象替换位于指定索引处的对象 void setElementAt(Object elem, int index) //检索位于指定索引处的元素 Object ElementAt(int index) //如果Vector对象包含指定元素,返回true boolean contains(Object elem) //返回Vector对象中的第一个元素 Object firstElement() //返回Vector对象中的最后一个元素 Object lastElement() //删除Vector对象中的所有元素 void removeAllElements() //将Vector对象中的元素复制到指定数组中 void copyInto(Object[] anArray) //根据newSize的值设置Vector对象的容器 void setSize(int newSize)
测试案例:
public class VectorTest { public static void main(String[] args) { //创建一个Vector Vector<String> vector = new Vector<String>(); //往Vector容器中添加元素 vector.addElement("JAVA"); vector.addElement("MYSQL"); vector.addElement("Oracle"); vector.addElement("C#"); //删除一个元素 vector.removeElement("C#"); //打印 for (int i=0; i<vector.size(); i++){ System.out.println(vector.get(i)); } } }