Collections工具类的使用

来源:互联网 发布:java代码块执行顺序 编辑:程序博客网 时间:2024/05/29 19:20
前言:
 Collections 是一个操作 Set、List 和 Map 等集合的工具类
Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法

I. 排序操作(均为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 处元素进行交换

II.查找、替换
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 对象的所有旧值

III.代码示例如下
package com.atguigu.java;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import org.junit.Test;/* * 操作Collection以及Map的工具类:Collections *  * 面试题:区分Collection与Collections *  */public class TestCollections {/**  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 对象的所有旧值*/@Test    public void testCollections2(){        List list = new ArrayList();        list.add(123);        list.add(456);        list.add(12);        list.add(78);        list.add(456);        Object obj = Collections.max(list);        System.out.println(obj);        int count = Collections.frequency(list, 4567);        System.out.println(count);        //实现List的复制        //List list1 = new ArrayList();//错误的实现方式        List list1 = Arrays.asList(new Object[list.size()]);        Collections.copy(list1, list);        System.out.println(list1);        //通过如下的方法保证list的线程安全性。        List list2 = Collections.synchronizedList(list);        System.out.println(list2);        }/**  reverse(List):反转 List 中元素的顺序shuffle(List):对 List 集合元素进行随机排序sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行交换*/@Test    public void testCollections1(){        List list = new ArrayList();        list.add(123);        list.add(456);        list.add(12);        list.add(78);        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.swap(list, 0, 2);        System.out.println(list);    }}



0 0