繁体   English   中英

如何使用java.util.Arrays

[英]How to use java.util.Arrays

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

在我开始上课之前

import java.util.Arrays

Java数组

要声明一个整数数组,请从以下开始:

int[] myArray;

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

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教程将提供很大帮助。 您还可以查看Arrays上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);

好吧,假设你有一个阵列

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>

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

这是java.util.Arrays的javadoc

您可以使用静态导入

import static java.util.Arrays.*;

int[] ints = {3, 4, 1, 2, 5, 7, 6};
sort(ints);
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”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM