文章目錄
- 前言
- 一、 排序方法 sort() 和 reverseOrder()
- 1. sort(List<T> list)
- 2.sort(List<T> list, Comparator<? super T> c)
- 二、查找方法 max(), min()
- 1.max(Collection<? extends T> coll)
- 2.min(Collection<? extends T> coll)
- 3.max(Collection<? extends T> coll, Comparator<? super T> comp)
- 三、 填充方法 fill(), copy()
- 1.fill(List<? super T> list, T obj)
- 2.copy(List<? super T> dest, List<? extends T> src)
- 四、反轉方法 reverse()
- 總結
前言
Collections 是 Java 中的一個工具類,位于 java.util 包中,提供了一些靜態方法來操作和返回集合框架中的集合對象。它主要用于操作集合對象,如列表、集合和映射等,提供了排序、查找、反轉、填充、交換等常見操作。
Collections和Collection不同,前者是集合的操作類,后者是集合接口
Collections類定義了一系列用于操作集合的靜態方法
一、 排序方法 sort() 和 reverseOrder()
注意
實現一個類的對象之間比較大小,該類要實現Comparable接口并且重寫compareTo()方法
1. sort(List list)
將列表中的元素按自然順序進行排序。適用于元素實現了 Comparable 接口的集合。
List<Integer> list = Arrays.asList(5, 3, 8, 1);
Collections.sort(list); // 輸出:[1, 3, 5, 8]
2.sort(List list, Comparator<? super T> c)
根據提供的比較器 Comparator 對列表進行排序。
List<String> list = Arrays.asList("apple", "banana", "cherry");
Collections.sort(list, (s1, s2) -> s2.compareTo(s1)); // 按逆字典順序排序
二、查找方法 max(), min()
1.max(Collection<? extends T> coll)
返回集合中的最大元素,要求元素實現 Comparable 接口。
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Integer max = Collections.max(list); // 輸出:4
2.min(Collection<? extends T> coll)
返回集合中的最小元素,要求元素實現 Comparable 接口。
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Integer min = Collections.min(list); // 輸出:1
3.max(Collection<? extends T> coll, Comparator<? super T> comp)
使用自定義的比較器返回最大元素。
List<String> list = Arrays.asList("apple", "banana", "cherry");
String max = Collections.max(list, (s1, s2) -> s1.length() - s2.length()); // 按字符串長度比較
三、 填充方法 fill(), copy()
1.fill(List<? super T> list, T obj)
將列表中的每個元素設置為給定的對象 obj。
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
Collections.fill(list, "filled");
System.out.println(list); // 輸出:[filled, filled, filled]
2.copy(List<? super T> dest, List<? extends T> src)
將 src 列表的元素復制到 dest 列表。dest 列表必須至少有和 src 列表一樣多的元素空間。
List<String> src = Arrays.asList("a", "b", "c");
List<String> dest = new ArrayList<>(Arrays.asList("x", "y", "z"));
Collections.copy(dest, src);
System.out.println(dest); // 輸出:[a, b, c]
四、反轉方法 reverse()
反轉列表的元素順序。
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Collections.reverse(list);
System.out.println(list); // 輸出:[4, 3, 2, 1]
總結
Collections 是 Java 集合框架中非常實用的工具類,它封裝了對集合的常見操作,如排序、查找、填充、復制、反轉等,使開發者無需重復造輪子,提高了代碼的可讀性和開發效率。熟練掌握 Collections 的常用方法,是 Java 開發中提升集合處理能力的重要一步。