如何使用 java.util.Arrays

How to use java.util.Arrays

提问人:Aaron 提问时间:4/7/2011 更新时间:6/19/2017 访问量:99651

问:

我正在尝试在 JavaSE 6 中使用 java.util.Arrays 类,但不确定如何实现它?在我生成的数组上?

在课程开始之前,我有

import java.util.Arrays
爪哇岛

评论

2赞 donnyton 4/7/2011
我想你想问的是如何在 java 中使用数组。在这种情况下,您不导入 java.util.Arrays,而是使用数组语法。

答:

3赞 Justin Waugh 4/7/2011 #1

您没有提供有关您正在尝试执行的操作的足够信息。 只公开静态方法,因此您只需传入数组和所调用的特定方法所需的任何其他参数即可。例如,将用值 填充布尔数组。java.util.ArraysArrays.fill(myarray,true)true

这是 java.util.Arrays 的 javadoc

8赞 corsiKa 4/7/2011 #2

好吧,假设你有一个数组

int[] myArray = new int[] { 3, 4, 6, 8, 2, 1, 9};

你想对它进行排序。你这样做:

// assumes you imported at the top
Arrays.sort(myArray);

这是整个shebang:

import java.util.Arrays;
class ArrayTest {
    public static void main(String[] args) {
        int[] myArray = new int[] { 3, 4, 6, 8, 2, 1, 9};
        Arrays.sort(myArray);
        System.out.println(Arrays.toString(myArray));
    }
}

这导致

C:\Documents and Settings\glow\My Documents>java ArrayTest
[1, 2, 3, 4, 6, 8, 9]

C:\Documents and Settings\glow\My Documents>
17赞 justkt 4/7/2011 #3

Java 数组

要声明整数数组,请从以下步骤开始:

int[] myArray;

要实例化包含 10 个整数的数组,您可以尝试:

myArray = new int[10];

若要设置该数组中的值,请尝试:

myArray[0] = 1; // arrays indices are 0 based in Java

或者在实例化时:

int[] myArray2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

若要从数组中获取值,请尝试:

System.out.println(myArray[0]);

要打印数组中的所有值,请尝试:

// go from 0 to one less than the array length, based on 0 indexing
for(int i = 0; i < myArray2.length; i++) {
    System.out.println(myArray2[i]);
}

有关更多信息,Sun/Oracle 的教程将提供很大帮助。您还可以查看 Array 上的 Java 语言规范

使用 Arrays 实用程序类

java.util.Arrays 包含一堆静态方法。静态方法属于该类,不需要该类的实例即可调用。相反,它们以类名作为前缀来调用。

因此,您可以执行以下操作:

// print a string representation of an array
int[] myArray = {1, 2, 3, 4};
System.out.println(Arrays.toString(myArray));

// sort a list
int[] unsorted = {3, 4, 1, 2, 5, 7, 6};
Arrays.sort(unsorted);

评论

0赞 GriffeyDog 4/7/2011
“在 Java 中,数组不是对象(java.util.Object 的后代)。相反,它是一种原始类型。真?从什么时候开始,数组就不是对象了?
2赞 Peter Lawrey 4/7/2011 #4

您可以使用静态导入

import static java.util.Arrays.*;

int[] ints = {3, 4, 1, 2, 5, 7, 6};
sort(ints);
1赞 Samet Sazak 7/19/2013 #5
public static void main(String[] args) {

double array[] = {1.1,2.3,5.6,7.5, 12.2, 44.7,4.25, 2.12};
Arrays.sort(array,1,3); 
for(int i =0;i <array.length;i++){

System.out.println(array[i]);
}
}

结果:

"1.1,2.3,5.6,7.5,12.2,44.7,4.25,2.12"