Collections工具类(java)

Collections工具类

  • java.util.Collections; 是集合的工具类
  • 作用:Collections不是集合,而是集合的工具类

Collections常用的API

方法名称 说明
public static boolean addAll(Collection c,T... elements) 批量添加元素
public static void shuffle(List list) 打乱list集合元素的顺序
public static void sort(List list) 排序
public static void sort(List list, Comparator c) 根据指定的规则进行排序
public static int binarySearch(List list,T key) 以二分查找法查找元素
public static void copy (List dest,List src) 拷贝集合中的元素
public static int fill(List list, T obj) 使用指定的元素填充集合
public static void max/min(Collection coll) 根据默认的自然排序获取最大/最小值
public static void swap(List list, int i, int j) 交换集合中指定的位置的元素

代码展示

添加元素并打乱

import java.util.ArrayList;
import java.util.Collections;

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);
    }
}

排序

//默认升序
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);

        //排序
        Collections.sort(list);
        System.out.println(list);
    }
}

Collections sort1

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

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);

        //根据指定规则进行排序
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o2.compareTo(o1);
            }
        });
        System.out.println(list);
    }
}

Collections sort2

以二分法查找元素

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

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);

        //以二分法查找元素
        Collections.sort(list);
        int binarySearch = Collections.binarySearch(list, "a");
        System.out.println(binarySearch);
        /*
        使用二分搜索法搜索指定列表,以获得指定对象。
        在进行此调用之前,必须根据列表元素的自然顺序对列表进行升序排序(通过 sort(List) 方法)。
        如果没有对列表进行排序,则结果是不确定的。
        如果列表包含多个等于指定对象的元素,则无法保证找到的是哪一个。
         */
    }
}

Collections binarySearch

拷贝元素

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

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);

        //拷贝集合中的元素
        ArrayList<String> list1 = new ArrayList<>();
        Collections.addAll(list1, "1", "2", "3", "4");
        Collections.copy(list1, list);
        System.out.println(list1);
        System.out.println(list);

    }
}

Collections工具类(java)_第1张图片

根据默认的自然排序获取最大/最小值

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

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);
        
        //根据默认的自然排序获取最大/最小值
        String max = Collections.max(list);
        System.out.println(max);

        String min = Collections.min(list);
        System.out.println(min);

    }
}

Collections工具类(java)_第2张图片

交换集合中的指定位置的元素

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

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);

        //交换集合中指定的位置的元素
        Collections.sort(list);
        Collections.swap(list, 0, 3);
        System.out.println(list);
    }
}

Collections swap

使用指定的元素填充集合

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

public class CollectionsDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        //批量添加元素
        Collections.addAll(list, "a", "b", "c", "d");
        System.out.println(list);

        //打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list);

        //使用指定的元素填充集合
        Collections.fill(list, "f");
        System.out.println(list);

    }
}

Collections fill
链接: Collections工具类综合练习

你可能感兴趣的:(Java学习笔记,java,笔记)