当前位置:   article > 正文

List集合(ArrayList、LinkedList、Vector)_list是不是有序集合

list是不是有序集合

目录

1、List集合 

1.1、什么是List集合?

 1.1、List集合的特点

1.2、List集合常用方法

 1.3、代码演示

 2、ArrayList集合

2.1、ArrayList集合常用方法

 2.2、代码演示

3、LinkedList集合

3.1、LinkedList的特点

 3.2、LinkedList常用方法

3.3、代码演示

4、Vector集合

4.1、Vector集合特点

4.2、代码演示 

5、List集合子类特点总结


 

1、List集合 

1.1、什么是List集合?

java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。

 1.1、List集合的特点

1、它是一个元素存取有序的集合。

2、它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。

3、集合中可以有重复的元素。

1.2、List集合常用方法

List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法。

方法名说明
public void add(int index, E element)将指定的元素,添加到该集合中的指定位置上。
public E get(int index)返回集合中指定位置的元素。
public E remove(int index)移除列表中指定位置的元素, 返回的是被移除的元素。
public E set(int index, E element)用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

 1.3、代码演示

  1. public class ListDemo {
  2. public static void main(String[] args) {
  3. List<String> list=new ArrayList<>();
  4. //添加元素
  5. list.add("hello");
  6. list.add("world");
  7. list.add("java");
  8. System.out.println(list);
  9. //删除指定索引元素或者删除指定元素
  10. list.remove("world");
  11. list.remove(0);
  12. System.out.println(list);
  13. //获取集合的元素个数
  14. int size = list.size();
  15. System.out.println(size);
  16. //查看集合中是否包含指定元素
  17. boolean hello = list.contains("hello");
  18. System.out.println(hello);
  19. //list集合获取指定索引的元素
  20. String s = list.get(0);
  21. System.out.println(s);
  22. System.out.println("-------------------");
  23. //list集合遍历
  24. Iterator<String> iterator = list.iterator();
  25. while(iterator.hasNext()){
  26. String next = iterator.next();
  27. System.out.println(next);
  28. }
  29. System.out.println("-------------------");
  30. //普通for遍历
  31. for (int i = 0; i <list.size() ; i++) {
  32. String s1 = list.get(i);
  33. System.out.println(s1);
  34. }
  35. System.out.println("-------------------");
  36. //增强for
  37. //iter
  38. for (String s1 : list) {
  39. System.out.println(s1);
  40. }
  41. }
  42. }

 2、ArrayList集合

2.1、ArrayList集合特点

底层数据结构是数组,查询快,增删慢 线程不安全,效率高。

2.1、ArrayList集合常用方法

方法名说明
public void add(int index, E element)将指定的元素,添加到该集合中的指定位置上。
public E get(int index)返回集合中指定位置的元素。
public E remove(int index)移除列表中指定位置的元素, 返回的是被移除的元素。
public E set(int index, E element)用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
public boolean add(E e)将指定的元素添加到此列表的尾部。

 2.2、代码演示

  1. public class ArrayListDemo {
  2. public static void main(String[] args) {
  3. ArrayList<String> arrayList=new ArrayList<>();
  4. //添加元素
  5. arrayList.add("hello");
  6. arrayList.add("world");
  7. //在指定索引添加元素替换原有的元素
  8. arrayList.add(0,"rose");
  9. //指定索引,在此索引处进行设置值
  10. arrayList.set(1,"java");
  11. System.out.println(arrayList);
  12. //获取指定索引的元素
  13. String s = arrayList.get(1);
  14. System.out.println(s);
  15. //删除指定索引的元素
  16. String remove = arrayList.remove(1);
  17. System.out.println(remove);
  18. System.out.println(arrayList);
  19. }
  20. }

3、LinkedList集合

3.1、LinkedList的特点

1、底层数据结构是链表,查询慢,增删快
2、线程不安全,效率高

 3.2、LinkedList常用方法

方法名说明
public void addFirst(E e)将指定元素插入此列表的开头。
public void addLast(E e)将指定元素添加到此列表的结尾。
public E getFirst()返回此列表的第一个元素。
public E getLast()返回此列表的最后一个元素。
public E removeFirst()移除并返回此列表的第一个元素。
public E removeLast()移除并返回此列表的最后一个元素。
public E pop()从此列表所表示的堆栈处弹出一个元素。
public void push(E e)将元素推入此列表所表示的堆栈。
public boolean isEmpty()如果列表不包含元素,则返回true。

LinkedList是List的子类,List中的方法LinkedList都是可以使用,我们只需要了解LinkedList的特有方法即可。在开发时,LinkedList集合也可以作为堆栈,队列的结构使用。

3.3、代码演示

  1. public class LinkedListDemo {
  2. public static void main(String[] args) {
  3. LinkedList<String> linkedList=new LinkedList<>();
  4. //添加元素
  5. linkedList.add("hello");
  6. linkedList.add("world");
  7. linkedList.add("java");
  8. //添加头部元素
  9. linkedList.addFirst("head");
  10. //添加尾部元素
  11. linkedList.addLast("last");
  12. System.out.println(linkedList);
  13. System.out.println("-------------------");
  14. //获取头部元素
  15. String first = linkedList.getFirst();
  16. System.out.println(first);
  17. //获取尾部元素
  18. String last = linkedList.getLast();
  19. System.out.println(last);
  20. System.out.println("-------------------");
  21. //删除头部元素并返回该元素值
  22. String s = linkedList.removeFirst();
  23. //删除尾部元素并返回该元素值
  24. String s1 = linkedList.removeLast();
  25. System.out.println(s);
  26. System.out.println(s1);
  27. System.out.println(linkedList);
  28. System.out.println("-------------------");
  29. //循环集合 如果不为空就弹出一个元素
  30. while(!linkedList.isEmpty()){
  31. linkedList.pop();
  32. }
  33. System.out.println(linkedList);
  34. }
  35. }

4、Vector集合

4.1、Vector集合特点

1、底层数据结构是数组,查询快,增删慢。
2、线程安全,效率低。

4.2、代码演示 

  1. public class VectorDemo {
  2. public static void main(String[] args) {
  3. Vector<String> vector=new Vector<>();
  4. vector.addElement("hello");
  5. vector.addElement("world");
  6. vector.addElement("java");
  7. //集合遍历
  8. for (int i = 0; i <vector.size() ; i++) {
  9. String s = vector.elementAt(i);
  10. System.out.println(s);
  11. }
  12. System.out.println("-------------------");
  13. //vector集合迭代器遍历
  14. Enumeration<String> elements = vector.elements();
  15. while(elements.hasMoreElements()){
  16. String s = elements.nextElement();
  17. System.out.println(s);
  18. }
  19. System.out.println("--------------------");
  20. //增强for遍历
  21. for (String s : vector) {
  22. System.out.println(s);
  23. }
  24. }
  25. }

5、List集合子类特点总结

    1、ArrayList:
               底层数据结构是数组,查询快,增删慢。
               线程不安全,效率高。
    2、LinkedList:
               底层数据结构是链表,查询慢,增删快。
               线程不安全,效率高。
    3、Vector:
               底层数据结构是数组,查询快,增删慢。
               线程安全,效率低。
    4、List集合特点:有序可重复。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/752561
推荐阅读
相关标签
  

闽ICP备14008679号