java 中java.util.Arrays类---常用函数记录
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类---常用函数记录的更多相关文章
- Java中数组操作 java.util.Arrays 类常用方法的使用
任何一门编程语言,数组都是最重要和常用的数据结构之一,但不同的语言对数组的构造与处理是不尽相同的. Java中提供了java.util.Arrays 类能方便地操作数组,并且它提供的所有方法都是静态的 ...
- [19/03/12-星期二] 数组_遍历(for-each)&复制&java.util.Arrays类
一.遍历 for-each即增强for循环,是JDK1.5新增加的功能,专门用于读取数组或集合中所有的元素,即对数组进行遍历. //数组遍历 for-each public class Test_03 ...
- JDK1.8源码(四)——java.util.Arrays 类
java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 1.asList public static ...
- java.util.Arrays类详解(源码总结)
概述 Arrays类位于java.util包下,是一个对数组操作的工具类.今天详细的看了看Arrays类的4千多行源码,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34).Array ...
- java.util.Arrays类
前言:java.util.Arrays类的技术文档请查看Oracle官网 1.Arrays类常见方法: 本文参考资料:百度文库:Oracle官网:第三方中文技术文档
- Java中Date和Calender类的使用方法
查看文章 Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...
- Java基础-Java中23种设计模式之常用的设计模式
Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...
- JAVA中封装JSONUtils工具类及使用
在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...
- Java 中的并发工具类
Java 中的并发工具类 CountDownLatch public class JoinCountDownLatchTest { public static void main(String[] a ...
随机推荐
- Appium 连手机失败Error: Android bootstrap socket crashed: Error: getaddrinfo ENOTFOUND localhost undefined:4724
问题:Appium执行,连接手机报下面的错误 Error: Android bootstrap socket crashed: Error: getaddrinfo ENOTFOUND localho ...
- windows 查询端口占用 杀掉进程
参考 https://www.cnblogs.com/lynn-li/p/6077993.html netstat -ano | findstr "8001" taskkill / ...
- 织梦栏目判断 seotitle的小bug
有的栏目有seotitle(中文字符),有的没有,页面显示需要把seotitle放在括号中,所以进行了以下代码: {dede:field name="seotitle" runph ...
- leetcode 中等题(1)
2. Add Two Numbers(中等) /** * Definition for singly-linked list. * struct ListNode { * int val; * Lis ...
- [leetcode]658. Find K Closest Elements绝对距离最近的K个元素
Given a sorted array, two integers k and x, find the k closest elements to x in the array. The resul ...
- 【 python】输出随机的字符或数字
随机输出0-9的数字 from random import choice x = choice([0,1,2,3,4,5,6,7,8,9]) print x 输出结果 #python first.py ...
- WEB框架之Ajax
一 Ajax简介 1 Ajax的介绍 AJAX翻译成中文就是"异步Javascript和XML".即使用JavaScript语言与服务器进行异步交互,传输的数据为XML(当然,传输 ...
- golang sync.Pool包的使用和一些注意地方
package main; import ( "sync" "fmt" "net" "runtime" ) //sync ...
- php新增的一些特性
php新增的特性,只是略微整理,并不完全. 一.php5.3添加的新特性 1.?:简化的三元运算符 <?php $cur = $cur ? $cur : 1; $cur = $cur ?: 1; ...
- 肤色检测一例-使用rgb颜色模型
代码: /* 输入:rgb图像 输出:与输入图像尺寸相同的灰度图,若rgb图中某像素检测为肤色,则灰度图中对应像素为255,否则为0 */ void SkinRGB( Mat &rgb,Mat ...