簡體   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