- 數組排序及元素查找
sort()方法對Java數組進行排序。
binarySearch() 方法來查找數組中的元素,返回該元素所在的位置。
import java.util.*; public class test { public static void main(String args[]){ int array[] = {2, 5, -2, 6, -3, 8, 0, -7, -9, 4 }; Arrays.sort(array); printArray(array); int index = Arrays.binarySearch(array, 2); System.out.println("元素 2 在第" + index + "個位置"); } private static void printArray(int array[]){ System.out.println("數組排序結果:" + ": [length: " + array.length + "]"); for (int i=0; i<array.length; i++){ if(i!=0){ System.out.print(", "); } System.out.print(array[i]); } System.out.println(); } }
- 獲取數組長度
使用數組length屬性來獲取數組的長度。
public class Main { public static void main(String args[]) { String[][] data = new String[2][5]; System.out.println("第一維數組長度: " + data.length); System.out.println("第二維數組長度: " + data[0].length); } }
- 數組反轉
使用 Collections.reverse(ArrayList) 可以將數組進行反轉。
//import java.util.*; import java.util.ArrayList; import java.util.Collections; public class test { public static void main(String[] args){ ArrayList arrayList = new ArrayList(); arrayList.add("A"); arrayList.add("B"); arrayList.add("C"); arrayList.add("D"); arrayList.add("E"); System.out.println("反轉前排序: " + arrayList); Collections.reverse(arrayList); System.out.println("反轉后排序: " + arrayList); } }
- 數組獲取最大值和最小值
通過 Collection 類的 Collection.max() 和 Collection.min() 方法來查找數組中的最大和最小值。
//import java.util.*; import java.util.Arrays; import java.util.Collections; public class test { public static void main(String[] args) { Integer[] numbers = { 8, 2, 7, 1, 4, 9, 5}; int min = Collections.min(Arrays.asList(numbers)); int max = Collections.max(Arrays.asList(numbers)); System.out.println("最小值: " + min); System.out.println("最大值: " + max); } }
- 數組合並
通過 List 類的 Arrays.toString () 方法和 List 類的 list.Addall(array1.asList(array2) 方法將兩個數組合並為一個數組。
import java.util.Arrays; import java.util.ArrayList; import java.util.List; public class test { public static void main(String args[]) { String a[] = { "A", "E", "I" }; String b[] = { "O", "U" }; List list = new ArrayList(Arrays.asList(a)); list.addAll(Arrays.asList(b)); Object[] c = list.toArray(); System.out.println(Arrays.toString(c)); } }
- 數組填充
通過 Java Util 類的 Array.fill(arrayname,value) 方法和 Array.fill(arrayname ,starting index ,ending index ,value) 方法向數組中填充元素。
import java.util.*; public class FillTest { public static void main(String args[]) { int array[] = new int[6]; Arrays.fill(array, 100); for (int i=0, n=array.length; i < n; i++) { System.out.println(array[i]); } System.out.println(); Arrays.fill(array, 3, 6, 50); for (int i=0, n=array.length; i< n; i++) { System.out.println(array[i]); } } }
輸出:
100 100 100 100 100 100 100 100 100 50 50 50
- 數組擴容
public class test { public static void main(String[] args) { String[] names = new String[] { "A", "B", "C" }; String[] extended = new String[5]; extended[3] = "D"; extended[4] = "E"; System.arraycopy(names, 0, extended, 0, names.length); for (String str : extended){ System.out.print(str); System.out.print(" "); } } }
輸出:
A B C D E
- 刪除數組元素
使用ArrayList.remove()方法刪除數組元素。
ArrayList.add(E)
ArrayList.add(int index, E)
對應的ArrayList.remove()也有兩種。
import java.util.ArrayList; public class test { public static void main(String[] args) { ArrayList objArray = new ArrayList(); objArray.clear(); objArray.add(0,"第 0 個元素"); objArray.add(1,"第 1 個元素"); objArray.add(2,"第 2 個元素"); System.out.println("數組刪除元素前:"+objArray); objArray.remove(1); objArray.remove("第 0 個元素"); System.out.println("數組刪除元素后:"+objArray); } }
輸出:
數組刪除元素前:[第 0 個元素, 第 1 個元素, 第 2 個元素]
數組刪除元素后:[第 2 個元素]
- 數組差集
使用 removeAll () 方法來計算兩個數組的差集。
import java.util.ArrayList; public class test { public static void main(String[] args) { ArrayList objArray = new ArrayList(); ArrayList objArray2 = new ArrayList(); objArray2.add(0,"common1"); objArray2.add(1,"common2"); objArray2.add(2,"notcommon"); objArray2.add(3,"notcommon1"); objArray.add(0,"common1"); objArray.add(1,"common2"); objArray.add(2,"notcommon2"); System.out.println("array1 的元素" +objArray); System.out.println("array2 的元素" +objArray2); objArray.removeAll(objArray2); System.out.println("array1 與 array2 數組差集為:"+objArray); } }
- 數組交集
使用 retainAll () 方法來計算兩個數組的交集。
import java.util.ArrayList; public class test { public static void main(String[] args) { ArrayList objArray = new ArrayList(); ArrayList objArray2 = new ArrayList(); objArray2.add(0,"common1"); objArray2.add(1,"common2"); objArray2.add(2,"notcommon"); objArray2.add(3,"notcommon1"); objArray.add(0,"common1"); objArray.add(1,"common2"); objArray.add(2,"notcommon2"); System.out.println("array1 數組元素:"+objArray); System.out.println("array2 數組元素:"+objArray2); objArray.retainAll(objArray2); System.out.println("array2 & array1 數組交集為:"+objArray); } }
- 在數組中查找指定的元素
使用 contains () 方法來查找數組中的指定元素,返回值為 true or false。
import java.util.ArrayList; public class test { public static void main(String[] args) { ArrayList objArray = new ArrayList(); ArrayList objArray2 = new ArrayList(); objArray2.add(0,"common1"); objArray2.add(1,"common2"); objArray2.add(2,"notcommon"); objArray2.add(3,"notcommon1"); objArray.add(0,"common1"); objArray.add(1,"common2"); System.out.println("objArray 的數組元素:"+objArray); System.out.println("objArray2 的數組元素:"+objArray2); System.out.println("objArray 是否包含字符串common2? : " +objArray.contains("common1")); System.out.println("objArray2 是否包含數組 objArray? :" +objArray2.contains(objArray) ); } }
- 判斷數組是否相等
使用 equals ()方法來判斷數組是否相等,返回 true or false。
import java.util.Arrays; public class test { public static void main(String[] args) throws Exception { int[] ary = {1,2,3,4,5,6}; int[] ary1 = {1,2,3,4,5,6}; int[] ary2 = {1,2,3,4}; System.out.println("數組 ary 是否與數組 ary1相等? :"+ Arrays.equals(ary, ary1)); System.out.println("數組 ary 是否與數組 ary2相等? :" + Arrays.equals(ary, ary2)); } }