Collections工具類

是小蔥哦發表於2020-11-01

1、作用

操作Collection和Map的工具類。

2、常用方法

排序操作:(均為static方法)
reverse(List):反轉 List 中元素的順序
shuffle(List):對 List 集合元素進行隨機排序
sort(List):根據元素的自然順序對指定 List 集合元素按升序排序
sort(List,Comparator):根據指定的 Comparator 產生的順序對 List 集合元素進行排序
swap(List,int, int):將指定 list 集合中的 i 處元素和 j 處元素進行交換

查詢、替換
Object max(Collection):根據元素的自然順序,返回給定集合中的最大元素
Object max(Collection,Comparator):根據 Comparator 指定的順序,返回給定集合中的最大元素
Object min(Collection)
Object min(Collection,Comparator)
int frequency(Collection,Object):返回指定集合中指定元素的出現次數
void copy(List dest,List src):將src中的內容複製到dest中
boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替換List 物件的所有舊值

注意:copy(List dest,List src)方法的使用

@Test
    public void test2(){
        List list=new ArrayList();
        list.add(12);
        list.add(43);
        list.add(76);
        list.add(-97);
        list.add(0);

        //報異常:IndexOutOfBoundsException("Source does not fit in dest")
//        List dest=new ArrayList();
//        Collections.copy(dest,list);

        //方式一:
//        List dest=new ArrayList();
//        dest.add(123);
//        dest.add(123);
//        dest.add(123);
//        dest.add(123);
//        dest.add(123);
//        Collections.copy(dest,list);

        //方式二:
        List dest= Arrays.asList(new Object[list.size()]);


        Collections.copy(dest,list);
        System.out.println(dest);
    }

Collections 類中提供了多個 synchronizedXxx() 方法,該方法可使將指定集合包裝成執行緒同步的集合,從而可以解決多執行緒併發訪問集合時的執行緒安全問題。

說明:ArrayList和HashMap都是執行緒不安全的,如果程式要求執行緒安全,我們可以將ArrayList、HashMap轉換為執行緒安全的。使用synchronizedList(List list)和synchronizedMap(Map map),而不會去使用Vector和Hashtable。

相關文章