三十八、Collections 工具類
阿新 • • 發佈:2021-06-29
工具類:私有構造器,所有方法 都是靜態的 static
java.util.Collections
是集合的工具類,裡面提供了靜態方法來操作集合,亂序,排序....
1、常用方法
方法 | 描述 |
---|---|
public static void shuffle(List<?> list) |
打亂集合順序。(洗牌) |
public static <T> void sort(List<T> list) |
將集合中元素按照預設規則排序。 |
public static <T> void sort(List<T> list,Comparator<? super T> ) |
將集合中元素按照指定規則排序。 |
public static <T> boolean addAll(Collection<T> c, T... elements) |
往集合中新增一些元素。 |
2、shuffle方法
public static void shuffle(List<?> list)
- 亂序只能對 List 集合進行亂序
- 集合中元素型別可以任意型別
// 建立ArrayList集合物件 ArrayList<Integer> list = new ArrayList<>(); // 新增元素 list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); Collections.shuffle(list); System.out.println(list); // [5, 4, 1, 2, 3]
3、sort方法
-
public static <T extends Comparable> void sort(List<T> list)
- 將集合中元素按照預設規則排序。
- 該方法只能對List集合進行排序。
- 從方法中泛型分析可知,集合中元素型別必須是 Comparable 的子型別。
public class CollectionsDemo { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); // Integer 類 繼承了Comparable,重寫了 compareTo()方法,有預設的從小到大排序。 list.add(100); list.add(300); list.add(200); list.add(50); //排序方法 Collections.sort(list); System.out.println(list); } } /* 結果: [50,100, 200, 300] */
-
public static <T> void sort(List<T> list,Comparator<? super T> c)
-
方法只能對List結合排序
-
對元素的型別沒有要求
-
需要定義一個比較器Comparator(規則和之前 TreeSet 時一樣)
public int compare(E o1,E o2){ return o1 - o2; //升序 或者 return o2 - o1; //降序 }
-
-
自然排序與比較器排序,可以看之前的 TreeSet 集合,裡面有詳細說明