6、Collections工具類

花er公子發表於2023-02-14

1、Collections工具類介紹

  1. Collections 是一個操作 Set、List 和 Map 等集合的工具類
  2. Collections 中提供了一系列靜態的方法對集合元素進行排序、查詢和修改等操作

2、排序操作(均為static方法)

  1. reverse(List):反轉List 中元素的順序

  2. shuffle(LIst):對List 集合元素進行隨機排序

  3. sort(List):根據元素的自然順序對指定List 集合元素按升序排序

  4. sort(List,comparator):根據指定的Comparator 產生的順序對List 集合元素進行排序

  5. swap(List,int,int):將指定list 集合中的 i 處元素和 j 處元素進行交換。

    package com.hspedu.collections_;
    
    import java.util.*;
    
    @SuppressWarnings({"all"})
    public class Collections_ {
        public static void main(String[] args) {
    
            //建立ArrayList 集合,用於測試
            List list = new ArrayList();
            list.add("tom");
            list.add("smith");
            list.add("king");
            list.add("milan");
            System.out.println(list);
    
            Collections.reverse(list);
            System.out.println(list);
    
            Collections.shuffle(list);
            System.out.println(list);
    
            Collections.sort(list);
            System.out.println(list);
    
            Collections.sort(list, new Comparator() {
                @Override
                public int compare(Object o1, Object o2) {
                    return ((String) o1).length() - ((String) o2).length();
                }
            });
            System.out.println(list);
    
            Collections.swap(list,0,1);
            System.out.println(list);
    
        }
    }
    /*
    	執行結果:
            [tom, smith, king, milan]
            [milan, king, smith, tom]
            [milan, smith, king, tom]
            [king, milan, smith, tom]
            [tom, king, milan, smith]
            [king, tom, milan, smith]
    */
    

3、查詢、替換

  1. Object max(Collection): 根據元素的自然順序,返回給定集合中的最大元素
  2. Object max(Collection, Comparator) :根據Comparator 指定的順序,返回給定集合中的最大元素
  3. Object min(collection)
  4. Object min(Collection, Comparator)
  5. int frequency(Collection, Object) :返回指定集合中指定元素的出現次數
  6. void copy(List dest, List src):將src中的內容複製到dest中
  7. boolean replaceAll(List list, Object oldVal, Object newVal):使用新值替換List 物件的所有舊值
package com.hspedu.collections_;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

@SuppressWarnings({"all"})
public class Collections_1 {
    public static void main(String[] args) {

        //建立ArrayList 集合,用於測試
        List list = new ArrayList();
        list.add("tom");
        list.add("tom");
        list.add("smith");
        list.add("king");
        list.add("milan");
        System.out.println(list);

        System.out.println(Collections.max(list));

        Object maxObject = Collections.max(list, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o1).length() - ((String) o2).length();
            }
        });
        System.out.println(maxObject);

        System.out.println("tom 出現的次數= " + Collections.frequency(list,"tom"));

        ArrayList dest = new ArrayList();
        //為了完成一個完整複製,我們需要先給dest 賦值,大小和list.size()一樣
        for (int i = 0; i < list.size(); i++) {
            dest.add("");
        }
        Collections.copy(dest,list);
        System.out.println("dest= " + dest);

        Collections.replaceAll(list,"tom","湯姆");
        System.out.println(list);

    }
}
/*
	執行結果:
		[tom, tom, smith, king, milan]
        tom
        smith
        tom 出現的次數= 2
        dest= [tom, tom, smith, king, milan]
        [湯姆, 湯姆, smith, king, milan]

*/

相關文章