目录
1. 什么是List
Collection中有那些方法?
add(E e)方法
addAll(Collection c)方法
clear()方法
contains(Object o)方法
containsAll(Collection c)方法
equals(Object o)方法
hashCode()方法
isEmpty()方法
iterator()方法
remove(Object o)方法
removeAll(Collection c)方法
retainAll(Collection c)方法
size()方法
toArray()方法
toArray(T[] a)方法
1. 什么是List
 
 在集合框架中, 
 List 
 是一个接口,继承自 
 Collection 
 。 
 
 
 Collection 
 也是一个接口 
 ,该接口中规范了后序容器中常用的一些方法,具体如下所示:  
 
 
 
 
  站在数据结构的角度来看, 
  List 
  就是一个线性表,即 
  n 
  个具有相同类型元素的有限序列,在该序列上可以执行增删  
 
 
  
  改查以及变量等操作 
  。  
 
 
Collection中有那些方法?
-  add(E e)方法
-  (在 Set等集合中)
-  
  - 用于向集合中添加单个元素。如果是Set集合,会保证元素的唯一性,例如:
 
- 用于向集合中添加单个元素。如果是
   import java.util.HashSet;
   import java.util.Set;
   public class Main {
       public static void main(String[] args) {
           Set<String> set = new HashSet<>();
           set.add("apple");
           set.add("banana");
           System.out.println(set);
       }
   }
-  addAll(Collection<? extends E> c)方法
-  (在 Collection接口相关实现类中,如List、Set等)- 用于将一个集合中的所有元素添加到当前集合中。例如:
 
   import java.util.ArrayList;
   import java.util.Arrays;
   import java.util.List;
   public class Main {
       public static void main(String[] args) {
           List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3));
           List<Integer> list2 = new ArrayList<>(Arrays.asList(4, 5, 6));
           list1.addAll(list2);
           System.out.println(list1);
       }
   }
-  clear()方法
- (在Collection接口相关实现类中)- 用于清空集合中的所有元素,例如:
 
   import java.util.ArrayList;
   import java.util.List;
   public class Main {
       public static void main(String[] args) {
           List<String> list = new ArrayList<>();
           list.add("a");
           list.add("b");
           list.clear();
           System.out.println(list);
       }
   }
-  contains(Object o)方法
- (在Collection接口相关实现类中)- 用于判断集合中是否包含指定的元素,例如:
 
   import java.util.ArrayList;
   import java.util.List;
   public class Main {
       public static void main(String[] args) {
           List<String> list = new ArrayList<>();
           list.add("apple");
           list.add("banana");
           boolean contains = list.contains("apple");
           System.out.println(contains);
       }
   }
-  containsAll(Collection<?> c)方法
- (在Collection接口相关实现类中)- 用于判断当前集合是否包含另一个集合中的所有元素,例如:
 
   import java.util.ArrayList;
   import java.util.Arrays;
   import java.util.List;
   public class Main {
       public static void main(String[] args) {
           List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3));
           List<Integer> list2 = new ArrayList<>(Arrays.asList(1, 2));
           boolean containsAll = list1.containsAll(list2);
           System.out.println(containsAll);
       }
   }
-  equals(Object o)方法
- (在Collection接口相关实现类中)- 用于比较两个集合是否相等,这里的相等是指元素内容相等(对于Set还要求元素顺序无关)。例如:
 
- 用于比较两个集合是否相等,这里的相等是指元素内容相等(对于
   import java.util.ArrayList;
   import java.util.Arrays;
   import java.util.List;
   public class Main {
       public static void main(String[] args) {
           List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3));
           List<Integer> list2 = new ArrayList<>(Arrays.asList(1, 2, 3));
           boolean equals = list1.equals(list2);
           System.out.println(equals);
       }
   }
-  hashCode()方法
- (在Collection接口相关实现类中)- 返回集合的哈希码值,哈希码值的计算与集合中的元素相关,不同的集合实现可能有不同的计算方式。
-  import java.util.ArrayList; import java.util.List; public class ListHashCodeExample { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); int hashCode = list.hashCode(); System.out.println("List的哈希码值: " + hashCode); } }
 
-  isEmpty()方法
- (在Collection接口相关实现类中)- 用于判断集合是否为空,例如:
 
   import java.util.ArrayList;
   import java.util.List;
   public class Main {
       public static void main(String[] args) {
           List<String> list = new ArrayList<>();
           boolean isEmpty = list.isEmpty();
           System.out.println(isEmpty);
       }
   }
-  iterator()方法
- (在Collection接口相关实现类中)- 返回一个Iterator对象,用于遍历集合中的元素,例如:
 
- 返回一个
   import java.util.ArrayList;
   import java.util.Iterator;
   import java.util.List;
   public class Main {
       public static void main(String[] args) {
           List<String> list = new ArrayList<>();
           list.add("a");
           list.add("b");
           Iterator<String> iterator = list.iterator();
           while (iterator.hasNext()) {
               String element = iterator.next();
               System.out.println(element);
           }
       }
   }
-  remove(Object o)方法
- (在Collection接口相关实现类中)- 用于从集合中移除指定的元素,例如:
 
    import java.util.ArrayList;
    import java.util.List;
    public class Main {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("apple");
            list.add("banana");
            list.remove("apple");
            System.out.println(list);
        }
    }
-  removeAll(Collection<?> c)方法
- (在Collection接口相关实现类中)- 用于从当前集合中移除另一个集合中的所有元素,例如:
 
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    public class Main {
        public static void main(String[] args) {
            List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
            List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4));
            list1.removeAll(list2);
            System.out.println(list1);
        }
    }
-  retainAll(Collection<?> c)方法
- (在Collection接口相关实现类中)- 用于保留当前集合中与另一个集合的交集部分的元素,例如:
 
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    public class Main {
        public static void main(String[] args) {
            List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
            List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4, 6));
            list1.retainAll(list2);
            System.out.println(list1);
        }
    }
-  size()方法
- (在Collection接口相关实现类中)- 用于返回集合中元素的个数,例如:
 
    import java.util.ArrayList;
    import java.util.List;
    public class Main {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("a");
            list.add("b");
            int size = list.size();
            System.out.println(size);
        }
    }
-  toArray()方法
- (在Collection接口相关实现类中)- 用于将集合转换为数组,例如:
 
    import java.util.ArrayList;
    import java.util.List;
    public class Main {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("a");
            list.add("b");
            Object[] array = list.toArray();
            for (Object element : array) {
                System.out.println(element);
            }
        }
    }
-  toArray(T[] a)方法
- (在Collection接口相关实现类中)- 与toArray()类似,但可以指定数组的类型,这样可以避免不必要的类型转换。例如:
 
- 与
    import java.util.ArrayList;
    import java.util.List;
    public class Main {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("a");
            list.add("b");
            String[] array = list.toArray(new String[0]);
            for (String element : array) {
                System.out.println(element);
            }
        }
    }此片为简单的介绍List,具体使用方法请看下篇ArrayList与顺序表
![[OS] 编译 Linux 内核](https://i-blog.csdnimg.cn/direct/7f70489eb6774f9fa55ba5660b652c3e.png)

















