目录
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与顺序表
