java.util.Arrays类中包含了用来操作数组(比如排序和搜索)的各种静态方法。此类还包含一个允许将数组作为列表来查看的静态工厂。除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。常用的静态方法如下:
sort(A[] a)方法:
public static void sort(A[] a)
对各种基本类型的数组进行调优了的快速排序,为升序排列。
A可以为long,int,float,char,byte,double,short型,甚至可以为String、Date类型。它具体实现是:调用了sort(a, 0, a.length)方法
sort(A[] a, int fromIndex, int toIndex)方法:
public static void sort(A[] a, int fromIndex, int toIndex)
对数组的一段范围内的元素进行升序排序。范围为:从fromIndex到toIndex-1。
binarySearch(byte[] a, byte key)方法:
public static int binarySearch(byte[] a, byte key)
这个方法查询key元素值在a数组中出现的索引;如果a数组不包含key元素值,则返回-1.调用该方法时要求数组中元素已经按升序排列(调用sort()方法进行排序)。
public static int binarySearch(A[] a, int fromIndex, int toIndex, A key)寻找一个范围的元素。返回int型的索引。
type[] copyOf(type[] original,int length)方法:public static type[] copyOf(type[] original,int length)
这个方法将会把original数组复制成一个新数组,其中length是新数组的长度。如果length小于original数组的长度,则新数组就是原数组的前面length个元素;如果length大于original数组的长度,则新数组的前面元素就是原数组的所个元素,后面补充0(数值型)、false(布尔型)或者null(引用型)。
boolean equals(byte[] a, byte[] a2)方法:public static boolean equals(byte[] a, byte[] a2)
如果a数组和a2数组的长度相等,而且a数组和a2数组的数组元素也一一相同,该方法将返回true
fill(byte[] a, byte val)方法:public static void fill(byte[] a, byte val)
给数组中的每个元素填充相同的值val
fill(byte[] a, int fromIndex, int toIndex, byte val)方法:public static void fill(byte[] a, int fromIndex, int toIndex, byte val)
在数组的从下表为fromIndex到toIndex-1的范围内,填充相同值val
String toString(int[] a)方法:
public static String toString(int[] a)
返回指定数组内容的字符串表示形式。字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(int) 转换为字符串。如果 a 为 null,则返回 "null"。
例子:
public static void test(){
int[] a = new int[5];
int[] b = new int[5];
Arrays.fill(a, 1);
Arrays.fill(b, 1);
System.out.println(Arrays.toString(a));//输出:[1, 1, 1, 1, 1]
System.out.println(Arrays.toString(b));//输出:[1, 1, 1, 1, 1]
System.out.println(Arrays.equals(a, b));//输出:true
b[2]=11; b[3]=9;
System.out.println(Arrays.toString(b));//输出:[1, 1, 11, 9, 1]
System.out.println(Arrays.equals(a, b));//输出:false
Arrays.sort(b);
System.out.println(Arrays.toString(b));//输出:[1, 1, 1, 9, 11]
System.out.println(Arrays.binarySearch(b, 11));//输出:4
int[] c = {1,3,6,2,0,5};
Arrays.sort(c,2,4);
System.out.println(Arrays.toString(c));//输出:[1, 3, 2, 6, 0, 5]
int[] d = new int[5];
Arrays.fill(d, 0,3,2);
System.out.println(Arrays.toString(d));//输出:[2, 2, 2, 0, 0]
}
分享到:
相关推荐
day08_16_数组工具类Arrays
为了简化数组的操作并提高代码的效率与可读性,Java提供了`Arrays`类,这是一个包含了一系列静态方法的实用工具类,用于执行各种数组操作。以下是对`Arrays`类中部分常用方法的详细解析: #### 1. `binarySearch` `...
在Java编程语言中,Arrays工具类是Java标准库(java.util包)的一部分,它提供了大量静态方法,用于操作和处理数组。本章我们将深入探讨Arrays工具类的核心功能和使用方式,帮助你更好地理解和运用这个强大的工具。 ...
public class 数组工具类Arrays的使用 { public static void main(String[] args) { int array[] = new int[50]; for (int i = 0; i ; i++) { array[i] = (int)(Math.random() * 100); } Arrays.sort(array);...
1.1. Arrays工具类、二维数组.md
Arrays 类是 Java 提供的一个工具类,用于操作数组。该类提供了多种方法来操作数组,包括排序、查找、复制、比较等。 在本文中,我们将通过一个实例来展示 Java 数组及 Arrays 类对数组的操作。首先,我们创建了一...
Java 8 中增强的工具类 Arrays 提供了一个新的 for 循环语法,能够更方便地遍历数组和 Collection 等类型的对象。 Java 中的传统 for 循环方式 在 Java 中,通常使用 for 循环来遍历数组或 Collection 对象。例如...
Arrays是操作数组对象的工具类 Collections是操作集合对象的工具类 Objects是操作引用数据类型对象的工具类 Arrays的常用方法 普通排序 Arrays.sort(int[] a) Arrays.sort(int[] a, int fromIndex, int toIndex) ...
Java中的`Arrays`类是处理数组的重要工具,它包含了多种操作数组的方法,其中包括排序功能。在Java中,数组排序有两种主要情况:基本数据类型的数组排序和复合数据类型的数组排序。 对于基本数据类型的数组,例如`...
例如,Java中的`java.util.Arrays`就是处理数组的工具类,提供了排序、查找、复制等操作。了解这类工具类,你需要掌握基本的数据类型、数据结构以及相关的算法知识。 2. 文件操作工具类: 文件操作工具类通常包含...
的复制操作在Java中,数组的复制操作有多种方式,其中`Arrays`工具类提供了便捷的方法。本节将详细介绍如何使用`Arrays`工具类来进行数组的复制。 1. `Arrays.copyOf()` `Arrays.copyOf()`方法用于创建一个新的数组...
Java中的`Arrays`工具类是Java Collections Framework的一部分,位于`java.util`包下,它提供了一系列静态方法,用于处理各种类型的数组,包括排序、搜索、拷贝和比较等操作。这个类的设计目的是为了方便和高效地...
`Arrays`类是Java的实用工具类,提供了一系列静态方法来操作数组。它可以用于排序数组(如`Arrays.sort()`),填充数组(`Arrays.fill()`),复制数组(`Arrays.copyOf()`)以及打印数组内容(`Arrays.toString()`)...
一、数组工具类Arrays Arrays是Java提供的一个工具类,用于操作数组。Arrays类提供了多种方法来操作数组,包括排序、复制、字符串化等。 1.1 Arrays.sort(数组):对数组排序,对于基本类型的数组使用优化后的快速...
此时,可以考虑使用并发工具类,如Collections.synchronizedList()将数组转换为线程安全的列表。 数组作为数据结构的基础,理解并熟练掌握其操作是成为Java程序员的关键一步。通过本教程的学习,你将能够有效地创建...
9. **ArrayUtil**:数组操作工具类,包括数组的复制、排序、查找、填充等方法。Java的`java.util.Arrays`类已经提供了许多数组操作。 10. **CollectionUtil**:集合操作工具类,用于处理Java的集合框架,如List、...
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 ...在Java API中提供了操作数组的工具类 java.util.Arrays,例如:排序,查找,复制,数组转集合,数组转字符串等常见操
3. **Apache Commons Lang**:Apache软件基金会的一个开源项目,提供了大量扩展Java语言特性的工具类,如字符串处理、数组操作、反射、枚举操作等。 - `StringUtils`:提供了丰富的字符串操作方法,如空白字符处理...
在Java编程语言中,工具类(Utils)是包含各种实用方法的类,这些方法通常用于执行常见的任务,如类型转换、字符串操作、集合处理等。它们使得代码更加简洁且易于维护,因为它们提供了通用功能的封装,避免了重复...