java集合类史上最细讲解 - Collections工具类

简介: 1.Collections工具类Collections是java中一个很强大的工具类,可以很方便的操作java list,map,set


1.Collections工具类


Collections是java中一个很强大的工具类,可以很方便的操作java list,map,set


2.使用方法


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
/**
 * Collections工具类
 */
public class CollectionsText {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {
        ArrayList arrayList = new ArrayList();
        arrayList.add("tom");
        arrayList.add("king");
        arrayList.add("mimi");
        arrayList.add("kangkang");
        // 反转元素
        Collections.reverse(arrayList);
        System.out.println(arrayList);  // [kangkang, mimi, king, tom]
        // 随机排序
        Collections.shuffle(arrayList);
        System.out.println(arrayList);  // [king, kangkang, mimi, tom]
        // 升序排序
        Collections.sort(arrayList);
        System.out.println(arrayList);  // [kangkang, king, mimi, tom]
        // 按照指定的比较器排序,比如按照字符串长度升序
        Collections.sort(arrayList, new Comparator() {
            @Override
            public int compare(Object o, Object t1) {
                return ((String) o).length() - ((String) t1).length();
            }
        });
        System.out.println(arrayList);  // [tom, king, mimi, kangkang]
        // 交换元素位置,指定i和j位置的元素进行交换
        Collections.swap(arrayList,0,1);
        System.out.println(arrayList);  // [king, tom, mimi, kangkang]
        // 返回最大值,最小值使用min
        System.out.println(Collections.max(arrayList));  // tom
        // 自定义比较器,返回最大值,例如返回字符串长度最长的
        Object maxObject = Collections.max(arrayList, new Comparator() {
            @Override
            public int compare(Object o, Object t1) {
                return ((String) o).length() - ((String) t1).length();
            }
        });
        System.out.println(maxObject);  // kangkang
        // 统计集合中某一个元素出现的次数
        System.out.println(Collections.frequency(arrayList,"tom"));  // 1
        // 拷贝
        ArrayList arrayList1 = new ArrayList();
        for (int i = 0; i < arrayList.size(); i++) {
            arrayList1.add("");
        }
        Collections.copy(arrayList1,arrayList);
        System.out.println(arrayList1);  // [king, tom, mimi, kangkang]
        // 替换
        Collections.replaceAll(arrayList,"tom","汤姆");
        System.out.println(arrayList);  // [king, 汤姆, mimi, kangkang]
    }
}
目录
相关文章
|
1天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
22 3
|
4天前
|
安全 Java
深入理解 Java 多线程和并发工具类
【4月更文挑战第19天】本文探讨了Java多线程和并发工具类在实现高性能应用程序中的关键作用。通过继承`Thread`或实现`Runnable`创建线程,利用`Executors`管理线程池,以及使用`Semaphore`、`CountDownLatch`和`CyclicBarrier`进行线程同步。保证线程安全、实现线程协作和性能调优(如设置线程池大小、避免不必要同步)是重要环节。理解并恰当运用这些工具能提升程序效率和可靠性。
|
6天前
|
Java 编译器
Java Character 类
4月更文挑战第13天
|
7天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
10天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
12 0
|
10天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
15 0
|
11天前
|
存储 Java 编译器
Java集合丛林:深入了解集合框架的秘密
Java集合丛林:深入了解集合框架的秘密
15 0
Java集合丛林:深入了解集合框架的秘密
|
12天前
|
安全 Java
append在Java中是哪个类下的方法
append在Java中是哪个类下的方法
21 9
|
XML JSON JavaScript
干货:排名前 16 的 Java 工具类!
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。
149 0
|
Java 数据安全/隐私保护 数据格式
干货:排名前16的Java工具类
image 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。
4429 0

热门文章

最新文章