java.util.Arrays主要是用来对数组进行操作的类,主要包括以下方法:

1.数组转化列表,得到固定大小的列表,Arrays.asList(...);

public static <T> List<T> asList(T... a)
返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess

此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

     List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");

2.数组中查找元素(二分法查找),必须确保数组用sort()排过序,Arrays.binarySearch(byte[] a, int fromIndex, int toIndex, byte key) ;

(1)public static int binarySearch(byte[] a,byte key)

使用二分搜索法来搜索指定的 byte 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过 sort(byte[]) 方法)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。

(2)public static int binarySearch(byte[] a,int fromIndex,int toIndex, byte key)

使用二分搜索法来搜索指定的 byte 型数组的范围,以获得指定的值。必须在进行此调用之前对范围进行排序(通过 sort(byte[], int, int) 方法)。如果没有对范围进行排序,则结果是不确定的。如果范围包含多个带有指定值的元素,则无法保证找到的是哪一个。

3.计算数组的哈希码,Arrays.hashCode(...);

4.复制数组内容,Arrays.copyOf(boolean[] original, int newLength)

public static int[] copyOf(int[] original,int newLength)
复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。对于在原数组和副本中都有效的所有索引,这两个数组将包含相同的值。对于在副本中有效而在原数组无效的所有索引,副本将包含 0。当且仅当指定长度大于原数组的长度时,这些索引存在。

5.自定义要复制的数组内容,Arrays.copyOfRange(boolean[] original, int from, int to)

public static <T> T[] copyOfRange(T[] original,int from,int to)
将指定数组的指定范围复制到一个新数组。该范围的初始索引 ( from) 必须位于 0 和 original.length(包括)之间。 original[from] 处的值放入副本的初始元素中(除非 from == original.length 或 from == to)。原数组中后续元素的值放入副本的后续元素。该范围的最后索引 ( to)(必须大于等于 from)可以大于 original.length,在这种情况下, null 被放入索引大于等于 original.length - from 的副本的所有元素中。返回数组的长度为 to - from

所得数组与原数组属于完全相同的类。

6.两个数组内容比较,Arrays.equals(boolean[] a, boolean[] a2)

public static boolean equals(boolean[] a, boolean[] a2)
如果两个指定的 boolean 型数组彼此 相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。此外,如果两个数组引用都为 null,则认为它们是相等的。

7.向数组中填值,Arrays.fill(boolean[] a, boolean val)

(1)public static void fill(byte[] a, byte val)
将指定的 byte 值分配给指定 byte 节型数组的每个元素。
(2)public static void fill(byte[] a,int fromIndex,int toIndex,byte val)
将指定的 byte 值分配给指定 byte 型数组指定范围中的每个元素。填充的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括)。(如果 fromIndex==toIndex,则填充范围为空。)

8.数组排序Arrays.sort()

  (1)public static void sort(byte[] a)

  对指定的 byte 型数组按数字升序进行排序。

  (2)public static void sort(byte[] a,int fromIndex,int toIndex)

  对指定 byte 型数组的指定范围按数字升序进行排序。排序的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括)。(如果fromIndex==toIndex,则排序范围为空。)

9.数组转为字符串toString(byte[] a) 

public static String toString(float[] a)
返回指定数组内容的字符串表示形式。字符串表示形式由数组的元素列表组成,括在方括号( "[]")中。相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(byte) 转换为字符串。如果 a 为 null,则返回 "null"
如:
import java.util.Arrays;

public class test5 {
public static void main(String[] args) {
int[] num = {1,-2,3,10,-4,7,2,-5};
System.out.println(Arrays.toString(num));
System.out.println(Arrays.toString(num).split(",").length);
for (String s : Arrays.toString(num).split(",")){
System.out.println(s);
} }
}
输出为:
[1, -2, 3, 10, -4, 7, 2, -5]
8
[1
-2
3
10
-4
7
2
-5]

  


java 中java.util.Arrays类---常用函数记录的更多相关文章

  1. Java中数组操作 java.util.Arrays 类常用方法的使用

    任何一门编程语言,数组都是最重要和常用的数据结构之一,但不同的语言对数组的构造与处理是不尽相同的. Java中提供了java.util.Arrays 类能方便地操作数组,并且它提供的所有方法都是静态的 ...

  2. [19/03/12-星期二] 数组_遍历(for-each)&复制&java.util.Arrays类

    一.遍历 for-each即增强for循环,是JDK1.5新增加的功能,专门用于读取数组或集合中所有的元素,即对数组进行遍历. //数组遍历 for-each public class Test_03 ...

  3. JDK1.8源码(四)——java.util.Arrays 类

    java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 1.asList public static ...

  4. java.util.Arrays类详解(源码总结)

    概述 Arrays类位于java.util包下,是一个对数组操作的工具类.今天详细的看了看Arrays类的4千多行源码,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34).Array ...

  5. java.util.Arrays类

    前言:java.util.Arrays类的技术文档请查看Oracle官网 1.Arrays类常见方法: 本文参考资料:百度文库:Oracle官网:第三方中文技术文档

  6. Java中Date和Calender类的使用方法

    查看文章     Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...

  7. Java基础-Java中23种设计模式之常用的设计模式

    Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...

  8. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  9. Java 中的并发工具类

    Java 中的并发工具类 CountDownLatch public class JoinCountDownLatchTest { public static void main(String[] a ...

随机推荐

  1. poj1733(带权并查集+离散化)

    题目链接:http://poj.org/problem?id=1733 题意:给定由0.1组成的数串长度n,询问次数m,每次询问给出a,b,s,表示区间[a,b]内1的数量为s(odd-奇数或even ...

  2. Bar-Code-Recognition-System Private

    本设计研究EAN13条形码识别的译码技术,在基于机器视觉技术上,构建了一套条形码在线检测识别系统,系统将由以下几个部分构成:条形码图像定位与采集.计算机图像预处理.条形码图像中值滤波去噪.条码解析与识 ...

  3. pd.concat()命令

    这个生成dataframe函数还是蛮有意思的.

  4. struct和union,enum分析

    空结构体占用的内存多大? struct d { }; int main() { struct d d1; struct d d2; printf("%d,%0x\n",sizeof ...

  5. cipher的各个模式

    block cipher 工作模式(引自百度)Electronic Codebook Mode 最经典的模式,把明文按64比特为单位分为block, 对所有block使用同样的密钥来加密,最后把输出的 ...

  6. centos 7下部署grpc

    gRPC 是一个高性能.开源和通用的 RPC 框架,面向移动和 HTTP/2 设计.目前提供 C.Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版 ...

  7. Django具体操作(五)

    一.中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影 ...

  8. 阿里读写分离数据源SELECT LAST_INSERT_ID()获取不到id

    异常现象 insert 通过 mybatis 以下语法给领域类 赋予的 id 值为0. 后续根据主键的update操作失效.且无异常抛出 <selectKey keyProperty=" ...

  9. udevadm命令详解

    udevadm 后接一个命令和命令指定选项.它控制了udev运行的行为,处理内核事件,控制事件队列,并且提供简单的调试机制. 选项: --debug 打印错误信息 --version 打印版本信息 - ...

  10. OnActionExecuting验证用户登录

    代码 using Common; using Service; using Service.IService; using System; using System.Collections.Gener ...