当前位置:   article > 正文

Java LinkedList类和Vector类_mybug鞋

mybug鞋

LinkedList类

1.LinkedList类用于创建链表数据结构。

2.链表中元素的数量不受任何限制,可以随意的添加和删除。

3.与ArrayList相比,如果需要频繁的添加和删除元素,LinkedList的性能更加优越。

4.LinkedList类继承了AbstractSequentialList类,并实现了List接口。


LinkedList类常用方法:

  1. //返回链表的大小,即元素的数量
  2. int size()
  3. //判断链表是否为空,为空返回true,否则返回false
  4. boolean isEmpty()
  5. //清空链表中的所有元素,使其成为空链表
  6. void clear()
  7. //向链表中添加一个元素,该元素,该元素可以是任何类的对象
  8. boolean add(Object element)
  9. //从链表中删除指定索引位置的元素
  10. Object remove(int index)
  11. //返回指定索引位置的元素
  12. Object get(int index)
  13. //将元素elem存储到由index指定的索引位置上
  14. Object set(int index, Object elem)
  15. //判断element在链表中是否存在,存在返回对应的索引,否则返回-1
  16. int indexOf(Object element)
  17. //将指定元素添加到链表的开始处
  18. void addFirst(Object element)
  19. //将指定元素添加到链表的结尾处
  20. void addLast(Object element)
  21. //删除链表中的第一个元素
  22. Object removeFirst()
  23. //删除链表中的最后一个元素
  24. Object removeLast()
  25. //返回链表中的第一个元素
  26. Object getFirst()
  27. //返回链表中的最后一个元素
  28. Object getLast()

测试案例:

  1. public class LinkedListTest {
  2. public static void main(String[] args) {
  3. //创建一个空的链表
  4. List<Double> linkedList = new LinkedList<Double>();
  5. //循环添加
  6. for (int i=1; i<=10; i++){
  7. //创建一个Double类型的对象
  8. Double temp = new Double(Math.sqrt(i));
  9. //把这个对象添加到链表集合中
  10. linkedList.add(temp);
  11. }
  12. //打印链表集合中的元素
  13. for (int i=0; i<linkedList.size(); i++){
  14. System.out.println(linkedList.get(i));
  15. }
  16. //删除第一个元素
  17. ((LinkedList<Double>) linkedList).removeFirst();
  18. //删除最后一个元素
  19. ((LinkedList<Double>) linkedList).removeLast();
  20. //删除首尾元素之后再次打印元素
  21. System.out.println("删除首尾元素之后的链表集合:");
  22. for (int i=0; i<linkedList.size(); i++){
  23. System.out.println(linkedList.get(i));
  24. }
  25. }
  26. }


Vector类

1.Vector类与ArrayList类和LinkedList很相似,最大的区别在于Vector是线程同步的。

2.如果在多线程的程序中要使用到集合框架,并且不希望线程与线程之间互相干扰,那么Vector是不错的选择。

3.Vector类继承于AbstractList类,并实现了List接口。

Vector常用的方法:

  1. //返回Vector对象的大小,即元素的数量
  2. int size()
  3. //判断Vector对象是否为空,为空返回true,否则返回false
  4. boolean isEmpty()
  5. //清空Vector对象中的所有元素
  6. void clear()
  7. //向Vector对象中添加一个元素,该元素可以是任何类的对象
  8. boolean add(Object element)
  9. //从Vector中删除指定索引位置的元素
  10. Object remove(int index)
  11. //返回指定索引位置的元素
  12. Object get(int index)
  13. //将元素elem存放到由index知道你个的索引位置上
  14. Object set(int index, Object elem)
  15. //判断element在Vector对象中是否存在,存在返回对应的索引,否则返回-1
  16. int indexOf(Object element)
  17. //返回Vector对象的容量,既可以存放元素的个数
  18. int capacity()
  19. //将指定元素插入到Vector对象的末尾处
  20. void addElement(Object element)
  21. //将指定元素插入到指定索引位置
  22. void insertElementAt(Object elem, int index)
  23. //将指定对象替换位于指定索引处的对象
  24. void setElementAt(Object elem, int index)
  25. //检索位于指定索引处的元素
  26. Object ElementAt(int index)
  27. //如果Vector对象包含指定元素,返回true
  28. boolean contains(Object elem)
  29. //返回Vector对象中的第一个元素
  30. Object firstElement()
  31. //返回Vector对象中的最后一个元素
  32. Object lastElement()
  33. //删除Vector对象中的所有元素
  34. void removeAllElements()
  35. //将Vector对象中的元素复制到指定数组中
  36. void copyInto(Object[] anArray)
  37. //根据newSize的值设置Vector对象的容器
  38. void setSize(int newSize)

测试案例:

  1. public class VectorTest {
  2. public static void main(String[] args) {
  3. //创建一个Vector
  4. Vector<String> vector = new Vector<String>();
  5. //往Vector容器中添加元素
  6. vector.addElement("JAVA");
  7. vector.addElement("MYSQL");
  8. vector.addElement("Oracle");
  9. vector.addElement("C#");
  10. //删除一个元素
  11. vector.removeElement("C#");
  12. //打印
  13. for (int i=0; i<vector.size(); i++){
  14. System.out.println(vector.get(i));
  15. }
  16. }
  17. }


声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号