Collection

java.util.Collections:是集合工具类

作用:Collections不是集合,而是集合的工具类

常用API

addAll

java 复制代码
package Collections;

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,"aaa","sasa","gdg","gfd","hgf","fds","reg");
        System.out.println(list);
    }
}

shuffle

java 复制代码
package Collections;

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,"aaa","sasa","gdg","gfd","hgf","fds","reg");
        System.out.println("打乱前:"+list);
        Collections.shuffle(list);
        System.out.println("打乱后:"+list);
    }
}

随机取名的实现

java 复制代码
package Collections;

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

public class CollectionDemo2 {
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>();
        Collections.addAll(list1,"撒娇了","萨马卡罗","大撒大撒","的撒旦","改好发给","发你回家","客家话");
        ArrayList<String> list2 = new ArrayList<>();
        for (int j = 1 ; j <= 10;j++) {
            System.out.println("------第"+j+"轮开始------");
            int count = list1.size();
            Random rd = new Random();
            for (int i = 0; i < count; i++) {
                int index = rd.nextInt(list1.size());
                String name = list1.remove(index);
                list2.add(name);
                System.out.println(name);
            }
            list1.addAll(list2);
            list2.clear();
        }
    }
}
相关推荐
会开花的二叉树2 分钟前
吃透Reactor多线程:EventLoop_Channel_ThreadPool协作原理
开发语言·c++·tcp/ip·servlet
Jm_洋洋4 分钟前
【C++进阶】虚函数、虚表与虚指针:多态底层机制剖析
java·开发语言·c++
小马爱打代码6 分钟前
MyBatis:缓存体系设计与避坑大全
java·缓存·mybatis
老骥伏枥~6 分钟前
C# 控制台:Console.ReadLine / WriteLine
开发语言·c#
爱装代码的小瓶子9 分钟前
【C++与Linux基础】进程如何打开磁盘文件:从open()到文件描述符的奇妙旅程(更多源码讲解)
linux·开发语言·c++
diediedei9 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
时艰.11 分钟前
Java 并发编程:Callable、Future 与 CompletableFuture
java·网络
码云数智-园园12 分钟前
深入理解与正确实现 .NET 中的 BackgroundService
java·开发语言
田野追逐星光15 分钟前
STL中容器list -- 讲解超详细
开发语言·c++·list
好好研究15 分钟前
SpringBoot整合SpringMVC
xml·java·spring boot·后端·mvc