首页 > 编程语言 >Java数组工具类Arrays

Java数组工具类Arrays

时间:2024-10-14 12:21:58浏览次数:8  
标签:Java Arrays System int 数组 println out

Arrays工具类


Arrays 工具类提供了一系列方便、高效的方法来操作和处理 数组,大大简化了 Java 中对数组的常见操作。

将数组内容转为字符串

使用Arrays 工具类调用toString(要转换的数组)方法

		int[] arr1={5,3,2,1,4,8};
        System.out.println(Arrays.toString(arr1));//[5, 3, 2, 1, 4, 8]

对数组内容进行排序

从小到大排列(升序)
sort方法可以对很多中类型的数组进行排序如:整数,字符,小数…
使用:Arrays 工具类调用sort方法.
sort方法有三个参数:
1.需要排序的数组
2.排序起始索引
3.排序结束索引(不包括)
三个参数至少传递第一个.

		int[] arr1={5,3,2,1,4,8};
        double[] arr2={5.2,3.3,5.4,1.1};
        char[] arr3={'c','e','a','A','!'};
        Arrays.sort(arr1);
        Arrays.sort(arr2);
        Arrays.sort(arr3);
        System.out.println(Arrays.toString(arr1));//[1, 2, 3, 4, 5, 8]
        System.out.println(Arrays.toString(arr2));//[1.1, 3.3, 5.2, 5.4]
        System.out.println(Arrays.toString(arr3));//[!, A, a, c, e]按ASCII码表顺序排序

从大到小排列(降序)
在定义数组时不能使用int要用Integer(int包装类),int类型无法降序.

		Integer[] arr13= {4,2,1,3,5};//注意int类型无法降序
        Arrays.sort(arr13, Collections.reverseOrder());
        System.out.println(Arrays.toString(arr13));//[5, 4, 3, 2, 1]

判断是否相同

equals方法可以对很多中类型的数组进行判断如:整数,字符,小数…
使用:Arrays 工具类调用equals方法(比较数组1,比较数组2).

		int[] arr4={1,2,3};
        int[] arr5={1,2,3};
        int[] arr6={2,1,3};
        int[] arr7={2,1};
        boolean equals1 = Arrays.equals(arr4, arr5);
        boolean equals2 = Arrays.equals(arr4, arr6);
        boolean equals3 = Arrays.equals(arr6, arr7);
        System.out.println(equals1);//true
        System.out.println(equals2);//false
        System.out.println(equals3);//false

数组的复制

全部复制
使用Arrays 工具类调用copyOf(被复制的数组,复制数组的长度)方法
复制数组的长度一般与被复制的数组相等,小于时不能复制全部.大于时全部复制后还可以存入其他数据.

		String[] arr9={"apple","banana","cherry"};
        String[] strings1 = Arrays.copyOf(arr9, arr9.length);//等大
        System.out.println(Arrays.toString(strings1));//[apple, banana, cherry]
        String[] strings2 = Arrays.copyOf(arr9, 2);//小于
        System.out.println(Arrays.toString(strings2));//[apple, banana]
        String[] strings3 = Arrays.copyOf(arr9, 4);//大于
        System.out.println(Arrays.toString(strings3));//[apple, banana, cherry, null]

部分复制
使用Arrays 工具类调用copyOfRange(被复制的数组,复制的起始索引,复制的结束索引)方法
复制时不包括结束索引内容.

		int[] arr12= {1,2,3,4,5};
        int[] ints = Arrays.copyOfRange(arr12, 1, 4);
        System.out.println(Arrays.toString(ints));//[2, 3, 4]

查找特定值的索引

binarySearch方法用于在指定的数组中搜索特定的值,并返回该值在数组中的索引。

public static int binarySearch(type[] a, type key)

其中,type可以是任何基本数据类型或对象类型,a是要搜索的数组,key是要搜索的值。
如果搜索的值存在返回索引,不存在返回-1.

		int[] arr9={1,2,3};
        int i1 = Arrays.binarySearch(arr9, 1);
        int i2 = Arrays.binarySearch(arr9, 0);
        System.out.println(i1);//0
        System.out.println(i2);//-1

用指定元素存满数组

fill(存放元素数组,指定元素)方法用于将指定元素存满数组.

		int[] arr10=new int[3];
        char[] arr11=new char[3];
        Arrays.fill(arr10,1);
        Arrays.fill(arr11,'c');
        System.out.println(Arrays.toString(arr10));//[1, 1, 1]
        System.out.println(Arrays.toString(arr11));// [c, c, c]

数组转列表

使用Arrays 工具类调用asList(要转换的数组)方法

		String[] arr15={"apple","banana","cherry"};
        List<String> list = Arrays.asList(arr15);
        //列表的遍历
        list.forEach(System.out::println);

标签:Java,Arrays,System,int,数组,println,out
From: https://blog.csdn.net/2403_87436588/article/details/142875397

相关文章

  • Java OOM (OutOfMemoryError) 的产生原因及解决方案(内存泄漏、内存溢出、对象生命周期
    在Java开发中,OutOfMemoryError(简称OOM)是常见的内存溢出错误,通常发生在Java虚拟机(JVM)无法分配所需内存时。OOM不仅仅意味着系统内存不足,它还可能由程序中的内存管理问题导致,如内存泄漏或资源未正确释放。本篇博客将全面、深入地分析OOM的产生原因,并给出有效的解决方案。1.O......
  • JNI(Java Native Interface)和NIO(New Input/Output)是什么?
    1.JNI(JavaNativeInterface)JNI是一种接口,允许Java代码与其他编程语言(例如C或C++)编写的本地代码进行交互。通过JNI,Java程序可以调用本地代码中的函数或库,反过来,本地代码也可以访问Java的对象和方法。JNI通常在以下场景中使用:系统级别操作:有时Java无法直接访问操作系统的......
  • java中如何在集合遍历过程中删除元素(5种方法对比、案例、常见的错误及其后果)
    在Java开发中,集合遍历过程中删除元素是一个常见但容易出错的操作。不同的集合类型(如ArrayList、HashSet)有不同的处理方式,而错误使用则可能导致ConcurrentModificationException异常。本文将全面分析该问题的根源,提供最佳实践、对比不同方法,并通过案例展示具体实现。一、问......
  • Java-Vue使用浏览器调用本地exe服务
    Java-浏览器调用本地exe服务Java+Vue编写的BS服务调用本地的exe服务,从技术来说介绍这块的内容本来就很少,浏览器访问本地文件从安全限制上又存在诸多限制,本文章也是本人在实际开发过程中遇到了需要这种应用的场景,花费一些时间实践出的一种解决方案。1.Vue画面-button按钮<el-button......
  • JavaScript中Promise学习
    Promise是强大的异步编程工具,它允许我们更好的管理和处理异步操作。这里将探讨Promise中的reject以及如何使用catch来处理异步错误 什么是promise?promise是一种代表异步操作最终完成或失败的对象。它有三种状态:1、Pending(进行中):初始状态,既不成功也不失败2、Fulfilled(已成......
  • [javascript] 使用正则替换逗号分割钱
    constval=['12','123','1234','12345','123456','1234567','1234442313123']constreg=/(?<=\d)(?=(\d{4})+(?!\d))/gletres=''val.forEach(i=>......
  • Bash数组与字典使用
    需求编写bash脚本希望用到更加灵活的数据格式。数组使用index索引,直接调用返回第一个元素,支持-1检索,不存在的index返回空。举例:将十进制数转换为十六进制。declare-aHEX#可以省略HEX=(0123456789ABCDEF)echo${HEX[15]}#F字典使用key索引,直接调用......
  • Linux部署Java项目脚本
    1、新建startup.sh文件,写入内容:注意:1、"--spring.profiles.active=prod",是在springBoot项目中实际的生产环境配置2、"-Xms128m-Xmx1024m",可根据实际资源分配内存大小3、"/home/jenkins-build/workspace/8888/springBootProject.jar",实际jar包所在路径4、"springBoo......
  • 097基于java ssm springboot汽车配件销售商城管理系统(源码+文档+运行视频+讲解视频)
    项目技术:Springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows......
  • 100基于java ssm springboot体检预约系统体检套餐报告体检论坛(源码+文档+运行视频+讲
    项目技术:Springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows......