Java高階篇-5-Arrays類
阿新 • • 發佈:2019-01-24
前面介紹了字串的操作的String類,這篇,我們學習陣列類,Java中提供了一個數組常見操作方法的類Arrays.java。其實前面也說過,String其實原始碼中就是用一個char[]陣列來儲存的,也是屬於陣列的範圍。來看看陣列類常見操作方法舉例。
1.陣列的建立和元素遍歷
package demo3; import java.util.Arrays; /** * create by Anthony on 2017/10/29 */ public class ArraysDemo { public static void main(String args[]){ //陣列建立1,基礎資料型別陣列 int[] numbers = new int[12]; //引用資料型別資料建立,100是陣列長度 String[] st = new String[100]; // 先宣告 int[] myArray ; myArray = new int[10]; //聲明後直接賦值 int[] a = {40, 20, 50, 10, 60, 30}; //需求:輸出陣列每個元素的位置和值 System.out.println("第1種遍歷陣列元素方式"); for(int i=0; i<a.length; i++){ System.out.println(i+ "\t"+a[i]); } //第二種for迴圈比遍歷陣列元素 System.out.println("第2種遍歷陣列元素方式"); for(int x : a){ //System.out.println("\t"+x); System.out.print("\t"+x); } } }
輸出結果:
第1種遍歷陣列元素方式
0 40
1 20
2 50
3 10
4 60
5 30
第2種遍歷陣列元素方式
40 20 50 10 60 30
2.陣列中元素查詢和替換和排序
主要有根據索引查詢元素,根據索引替換元素的值,排序Java提供了從小到大排序,這裡我寫了一個從大到小的逆序,前提是基於從小到大排好序的陣列。
package demo3; import java.lang.reflect.Array; import java.util.Arrays; /** * create by Anthony on 2017/10/29 */ public class ArraysDemo { public static void main(String args[]){ int[] a = {40, 20, 50, 10, 60, 30}; //利用Array類的靜態方法 //根據索引得到元素 int b = Array.getInt(a, 2); System.out.println(b); //修改某一個元素額值 Array.set(a,2,80); System.out.println(Arrays.toString(a)); //排序(從小到大) Arrays.sort(a); System.out.println(Arrays.toString(a)); //排序(從大到小),前提是利用前面已經排好的陣列 int len = a.length; for(int i=0; i<len/2; i++){ int temp = a[i]; a[i] = a[len-1-i]; a[len-1-i] = temp; } System.out.println("逆序後:"+Arrays.toString(a)); //比較兩個陣列是否相等 int[] c = {10, 20 , 30 , 50 , 70}; System.out.println(Arrays.equals(a, c)); } }
注意,上面用了兩個類的靜態方法,Array和Arrays類。執行結果:
50
[40, 20, 80, 10, 60, 30]
[10, 20, 30, 40, 60, 80]
逆序後:[80, 60, 40, 30, 20, 10]
false
下一篇,我們來利用陣列來學習Java中的淺拷貝和深拷貝。