赞
踩
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));
- }
- }
- }

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));
- }
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。