Java之工具类Collections

Posted istart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之工具类Collections相关的知识,希望对你有一定的参考价值。

总结

  1. Collections 是一个操作 Set、List 和 Map 等集合的工具类
  2. Collections 中提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法

实现方法

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

public class Test3 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("b");
        list.add("a");
        list.add("cc");
        list.add("cc");
        list.add("ab");
        System.out.println(list);
        
        //reverse(List):反转 List 中元素的顺序
        Collections.reverse(list);
        System.out.println(list);
        
        //shuffle(List):对 List 集合元素进行随机排序
        Collections.shuffle(list);
        System.out.println(list);
        
        //sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
        Collections.sort(list);
        System.out.println(list);
        
        //swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行交换
        Collections.swap(list, 1, 4);
        System.out.println(list);
        
        //Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
        String max = Collections.max(list);
        System.out.println(max);
        
        //Object min(Collection):根据元素的自然顺序,返回给定集合中的最小元素
        String min = Collections.min(list);
        System.out.println(min);
        
        //int frequency(Collection,Object):返回指定集合中指定元素的出现次数
        Collections.frequency(list, "cc");
        System.out.println(Collections.frequency(list, "cc"));//2
        
        //sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序
        Person3 p3 = new Person3(11,"四十");
        Person3 p1 = new Person3(8,"李四");
        Person3 p2 = new Person3(18,"王二");
        Person3 p4 = new Person3(20,"王五");
        
        //创建list集合接收Person3类型数据
        List<Person3> list1 = new ArrayList<Person3>();
        list1.add(p1);
        list1.add(p2);
        list1.add(p3);
        list1.add(p4);
        //写入时的顺序
        for(Person3 stu :list1) {
            System.out.println("name="+stu.name+",age="+stu.age);
        }

        
        Collections.sort(list1, new Person3());
        System.out.println("-------------------------");
        //按照年龄升序排列后的list
        for(Person3 stu :list1) {
            System.out.println("name="+stu.name+",age="+stu.age);
        }
}

//定义一个person类实现comparator接口,比较的作用
class Person3 implements Comparator<Person3>{
    int age;
    String name;
    Person3(){}
    Person3(int age,String name) {
        this.age = age;
        this.name = name;
    }
    @Override
    public int compare(Person3 o1, Person3 o2) {
        if(o1.age>o2.age) {
            return 1;
        }else if(o1.age<o2.age) {
            return -1;
        }
        return 0;
        
    }
    
}

以上是关于Java之工具类Collections的主要内容,如果未能解决你的问题,请参考以下文章

Java集合之Collections 剖析

Java之工具类Collections

Java常用类之集合工具类Collections

Java之Collections工具类方法使用以及源码分析

Java之Collections工具类方法使用以及源码分析

Java之Collections工具类方法使用以及源码分析