Java中的Arrays類使用詳解

2021-07-31 06:22:01 字數 2614 閱讀 5643

首先先建立乙個列印陣列的方法,方便後面直接使用

public

static

void

output(int a)

system.out.println();

}

eg1.

int arr = new

int[5];

arrays.fill(arr, 2);

output(arr);

結果是:2 2 2 2 2

分析:給所有值賦值2

eg2.

int arr = new

int[5];

arrays.fill(arr, 1,3,8);

output(arr);

結果是:0 8 8 0 0

分析:給第1位(0開始)到第3位(不包括)賦值8

eg1.

int arr = ;

arrays.sort(arr);

output(arr);

結果是:1 2 3 4 5

分析:給所有數按公升序排序

eg2.

int arr = ;

arrays.sort(arr,1,3);

output(arr);

結果是:3 1 2 5 4

分析:給第1位(0開始)到第3位(不包括)排序

int arr1 = ;

int arr2 = ;

system.out.println(arrays.equals(arr1,arr2));

結果是:true

分析:如果是arr1.equals(arr2),則返回false,因為equals比較的是兩個物件的位址,不是裡面的數,而arrays.equals重寫了equals,所以,這裡能比較元素是否相等。

這裡補充一下,如果還是不用arrays.equals,那麼我們應該如何重寫equals來比較兩個陣列的元素是否相等呢?這裡提供一段**

//compare the contents of two int arrays

public

static

boolean

isequals(int a, int b)

if(a.length != b.length)

for(int i = 0; i < a.length; ++i )

}return

true;

}

陣列一定是排好序的,否則會出錯。找到元素,只會返回最後乙個位置

eg1:

int arr = ;

system.out

.println(arrays.binarysearch(arr, 20));

結果是:1

分析:能找到該元素,返回下標為1(0開始)

eg2:

int arr = ;

system.out

.println(arrays.binarysearch(arr, 35));

結果是:-4

分析:找不到元素,返回-x,從-1開始數,如題,返回-4

eg3:

int arr = ;

system.out

.println(arrays.binarysearch(arr, 0,3,30));

結果是:2

分析:從0到3位(不包括)找30,找到了,在第2位,返回2

eg4:

int arr = ;

system.out

.println(arrays.binarysearch(arr, 0,3,40));

結果是:-4

分析:從0到3位(不包括)找40,找不到,從-1開始數,返回-4

5、擷取陣列:copeof和copeofrange

eg1: copy

int arr = ;

int arr1 = arrays.copyof(arr, 3);

output(arr1);

結果:10 20 30

分析:擷取arr陣列的3個元素賦值給姓陣列arr1

eg2: copyofrange

int arr = ;

int arr1 = arrays.copyofrange(arr,1,3);

output(arr1);

結果:20 30

分析:從第1位(0開始)擷取到第3位(不包括)

6、其他

還有hashcode,tostring,clone等這裡就不介紹了,暫時用的少

Java基礎 陣列 Arrays類

1.陣列宣告 指定陣列名稱和元素資料型別,分配記憶體空間 建陣列空間 2.建立陣列 確定陣列元素的個數,建立後不可修改,建立後返回陣列空間的引用。陣列排序 sort int sort char 將陣列變成字串 tostring int 字串變成陣列char chars srt.tochararray...

Java8增強工具類 Arrays的使用

int a new int int a2 new int a陣列和a2陣列的長度相等,每個元素依次相等,故輸出true system.out.println a陣列和a2陣列是否相等 arrays.equals a,a2 將a陣列的前6個元素重新生成乙個新的陣列 int b arrays.copyo...

陣列工具類Arrays的使用

陣列的5中複製方法 1.for迴圈複製 public static int copy1 int arr return a 2.public static int copyof int original,int newlength 引數 1.複製的陣列,2.複製的長度 int tem arrays.c...