Java中Arrays类和Collections类常用方法示例详解

2025-07-17 19:50

本文主要是介绍Java中Arrays类和Collections类常用方法示例详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高...

Arrays.fill()相关用法

    int arr[] = new int[5];
        //所有元素赋值为5
        Arrays.fill(arr,5);
        //从索引[1,3)赋值为1
        Arrays.fill(arr,1,3,1);
        //从索引[2,4)赋值为2
        Arrays.fill(arr,2,4,2);

Arrays.toString()

//将数组China编程元素放入字符串中,可以方便快速打印数组元素
//底层实现
        //使用StringBuilder拼接字符串
        StringBuilder b = new StringBuilder();
        //在开头加[
        b.append('[');
        //遍历数组拼接元素
        for (int i = 0; ; i++) {
            b.append(String.valueOf(a[i]));
            if (i == iMax)
                //末尾拼接]并转为String类型
                return b.append(']').toString();
            b.append(", ");
        }

Arrays.sort()

//排序,默认为升序排序
        //[3, 3, 5, 2, 2]
        Arrays.sort(arr2);
        //打印结果:[2, 2, 3, 3, 5]
        System.out.println(Arrays.toString(arr2));
        //倒序排序,Collections.reverseorder()返回一个比较器
        Arrays.sort(arr2, Collections.reverseOrder());

Arrays.equals() 

      //比较两个数组中元素是否相等
        //相同:true,不同:false
        System.out.println(Arrays.equals(arr1,arr2));

Arrays.binarySearch() ​​​​

       //二分查找元素是否存在数组
        int arr4[] = {1,3,3,3,3};
        //返回二分查找第一次匹配到元素的索引值,不保证返回的是第一个出现的位置,如果不存在则返回实际插入索引+1的负数
        //2
        System.out.println(Arrays.binarySearch(arr4,3));
        //-6
        System.out.println(Arrays.binarySearch(arr4,10));
        //数组区间查找,[0,3),返回第一次命中的下表
        System.out.println(Arrays.binarySearch(arr4,0,3,3));

Arrays.copyOf()和Arrays.copyOfRange()

  int arr5[] = {1,2,3,4,5};
        //拷贝前三个元素[1,2,3]
        int[] arr6 = Arrays.copyOf(arr5, 3);
        //拷贝下标[2,5):[3,4,5]
        编程int[] arr7 = Arrays.copyOfRange(arr5, 2, 5);
        //若超过arr5长度,后面元素补0:[3,4,5,0,0...]
        copyOfRange(arr5, 2, 9);

Arrays.asList()

//将对象数组转为list集合,不能是基本类型的数组
Integer arrpython8[] = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arr8);

Collections.addAll()

List<Integer> list = new ArrayList<>();
//向集合中一次添加多个元素
Collections.addAll(list,2,4,3,23,43);

Collections.sort()

//根据类型中实现的Comparable接口的compareTo()方法排序,或第二个参数放入自定义的比较器
Collections.sort(list);

Collections.binarySearch()

   //二分查找,获取指定元素的索引,若未查找到,返回应插入的元素位置的负数-(索引+1)
        int idx = Collections.binarySearch(list, 3);
        System.out.println("key 下标为:"+ idx);

Collections.shuffle()

      Collections.addAll(list,2,4,3,23,43);
        Collections.sort(list);
        System.out.println(list);
        //打乱顺序
        Collections.shuffle(list);
        System.out.println(list);

结果:

Java中Arrays类和Collections类常用方法示例详解

Collections.reverse()    ​​​​​​​

    //翻转元素顺序
        Collections.reverse(list);
        System.out.println(list);

Collections.min() & Collections.max()

//根据元素类型实现的Comparable接口中的compareTo()方法比较获取最大值和最小值
        int max = Collections.max(list);
        System.out.println("最大值:" + max);
        int min = Collections.min(list);
        System.out.println("最小值:" + min);

Collections.fill()

//集合中所有元素设置为0
Collections.fill(list, 0);

Collections.swap()

//交换集合中两个索引的元素
Collections.swap(list, 0, 2);

Collections.copy()

//拷贝一个集合到另一个集合中
        List<Integer> list2 = new ArrayList<>();
        List<Integer> list3 = new ArrayList<>();
        //将list3拷贝到list2中,list3的长度必须小于等于list2
        Collections.addAll(pythonlist3,1,2,3,4,5);
        Collections.addAll(list2,0,0,0,0,0);
        Collections.copy(list2,lisjavascriptt3);
        System.out.println(list2);

Collections.replaceAll()

       //集合中所有元素为2的值替换为100
        System.out.println(list2);
        Collections.replaceAll(list2,2,100);

到此这篇关于Java中Arrays类和Collections类常用方法的文章就介绍到这了,更多相关java arrays类和collections类内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于Java中Arrays类和Collections类常用方法示例详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1155417

相关文章

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

Python 字典 (Dictionary)使用详解

《Python字典(Dictionary)使用详解》字典是python中最重要,最常用的数据结构之一,它提供了高效的键值对存储和查找能力,:本文主要介绍Python字典(Dictionary)... 目录字典1.基本特性2.创建字典3.访问元素4.修改字典5.删除元素6.字典遍历7.字典的高级特性默认字典

Java堆转储文件之1.6G大文件处理完整指南

《Java堆转储文件之1.6G大文件处理完整指南》堆转储文件是优化、分析内存消耗的重要工具,:本文主要介绍Java堆转储文件之1.6G大文件处理的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言文件为什么这么大?如何处理这个文件?分析文件内容(推荐)删除文件(如果不需要)查看错误来源如何避

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

SpringBoot整合(ES)ElasticSearch7.8实践

《SpringBoot整合(ES)ElasticSearch7.8实践》本文详细介绍了SpringBoot整合ElasticSearch7.8的教程,涵盖依赖添加、客户端初始化、索引创建与获取、批量插... 目录SpringBoot整合ElasticSearch7.8添加依赖初始化创建SpringBoot项

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)