1讨越、Java 實例 – 數(shù)組排序及元素查找:使用sort()方法對Java數(shù)組進行排序式散,使用 binarySearch() 方法來查找數(shù)組中的元素
public class Array_SortLookup {
public Array_SortLookup(){
int array[] = {2,5, -2,6, -3,8,0, -7, -9,4 };
Arrays.sort(array);
printArray("數(shù)組排序結(jié)果為", array);
int index = Arrays.binarySearch(array,2);
System.out.println("元素 2? 在第 " + index +" 個位置");
}
private static void printArray(String message,int array[]) {
System.out.println(message
+": [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();
}
}
輸出結(jié)果:
2棺弊、Java 實例 – 數(shù)組添加元素:使用sort()方法對Java數(shù)組進行排序阳掐,及如何使用 insertElement () 方法向數(shù)組插入元素趣竣。
public class Array_SortAdd {
public Array_SortAdd(){
int array[] = {2,5, -2,6, -3,8,0, -7, -9,4 };
Arrays.sort(array);
printArray("數(shù)組排序", array);
int index = Arrays.binarySearch(array,1);
System.out.println("元素 1 所在位置(負數(shù)為不存在):"
? ? ? ? ? ? ? ? + index);
int newIndex = -index -1;
array =insertElement(array,1, newIndex);
printArray("數(shù)組添加元素 1", array);
}
private static void printArray(String message,int array[]) {
System.out.println(message
+": [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();
}
private static int[] insertElement(int original[],
int element,int index) {
int length = original.length;
int destination[] =new int[length +1];
System.arraycopy(original,0, destination,0, index);
destination[index] = element;
System.arraycopy(original, index, destination, index
+1, length - index);
return destination;
}
}
輸出結(jié)果:
3嗦嗡、Java 實例 – 獲取數(shù)組長度:使用數(shù)組的屬性 length 來獲取數(shù)組的長度蓖租。
public class Array_Length {
public Array_Length(){
String[][] data =new String[2][5];
System.out.println("第一維數(shù)組(垂直)長度: " + data.length);
System.out.println("第二維數(shù)組(水平)長度: " + data[0].length);
}
}
輸出結(jié)果:
4粱侣、Java 實例 – 數(shù)組反轉(zhuǎn):使用 Collections.reverse(ArrayList) 將數(shù)組進行反轉(zhuǎn)。
public class Array_Reverse {
public Array_Reverse(){
ArrayList arrayList =new ArrayList();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");
System.out.println("原數(shù)組排序: " + arrayList);
Collections.reverse(arrayList);
System.out.println("反轉(zhuǎn)后排序: " + arrayList);
}
}
輸出結(jié)果:
5蓖宦、Java 實例 – 數(shù)組輸出:
public class Array_Print {
public Array_Print(){
String[] arr =new String[3];
arr[0] ="功能1";
arr[1] ="功能2";
arr[2] ="功能3";
for (int i =0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
public Array_Print(String []arr){
for (int i =0; i < arr.length; i++){
System.out.print(arr[i]+"? ? ");
}
}
}
輸出結(jié)果:
6齐婴、Java 實例 – 數(shù)組獲取最大和最小值:通過 Collections 類的 Collections.max() 和 Collections.min() 方法來查找數(shù)組中的最大和最小值。
public class Array_MaxMin {
public Array_MaxMin(){
Integer[] numbers = {8,2,7,1,4,9,5};
int min = (int) Collections.min(Arrays.asList(numbers));
int max = (int) Collections.max(Arrays.asList(numbers));
System.out.println("最小值: " + min);
System.out.println("最大值: " + max);
}
}
輸出結(jié)果:
7稠茂、Java 實例 – 數(shù)組合并:通過 List 類的 Arrays.toString () 方法和 List 類的 list.Addall(array1.asList(array2) 方法將兩個數(shù)組合并為一個數(shù)組尔店。
public class Array_Merge {
public Array_Merge(){
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.print("數(shù)組1:");
new Array_Print(a);? ? ? ? ? ? ? ? ? ? ?//實例5輸出數(shù)組中帶參數(shù)的構(gòu)造方法
System.out.print("\n數(shù)組2:");
new Array_Print(b);
System.out.println("\n合并后的數(shù)組:"+Arrays.toString(c));
}
}
輸出結(jié)果:
8、Java 實例 – 數(shù)組填充:通過 Java Util 類的 Arrays.fill(arrayname,value) 方法和Arrays.fill(arrayname ,starting index ,ending index ,value) 方法向數(shù)組中填充元素主慰。
public class Array_Fill {
public Array_Fill(){
int array[] =new int[6];
Arrays.fill(array,100);
System.out.println("將數(shù)組全部填充為值100的元素:");
for (int i=0, n=array.length; i < n; i++) {
System.out.print(array[i]+"? ");
}
System.out.println("\n將數(shù)組后3個元素填充為值50的元素:");
Arrays.fill(array,3,6,50);
for (int i=0, n=array.length; i< n; i++) {
System.out.print(array[i]+"? ");
}
}
}
輸出結(jié)果:
9嚣州、Java 實例 – 數(shù)組擴容:
public class Array_Extends {
public Array_Extends(){
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);
System.out.println("原數(shù)組:");
new Array_Print(names);//實例5輸出數(shù)組中帶參數(shù)的構(gòu)造方法
? ? ? ? System.out.println("\n擴容后數(shù)組:");
new Array_Print(extended);
}
}
輸出結(jié)果:
10、Java 實例 – 查找數(shù)組中的重復元素:
public class Array_CNKI {
public Array_CNKI(){
int[] my_array = {1,2,5,5,6,6,7,2,9,2};
findDupicateInArray(my_array);
}
public static void findDupicateInArray(int[] a) {
int count=0;
for(int j=0;j
for(int k =j+1;k
if(a[j]==a[k]) {
count++;
}
}
if(count==1)
System.out.println("重復元素 : " +? a[j] );
count =0;
}
}
}
輸出結(jié)果:
11共螺、Java 實例 – 刪除數(shù)組元素:使用 remove () 方法來刪除數(shù)組元素
public class Array_Delete {
public Array_Delete(){
ArrayList objArray =new ArrayList();
objArray.clear();
objArray.add(0,"第 0 個元素");
objArray.add(1,"第 1 個元素");
objArray.add(2,"第 2 個元素");
System.out.println("數(shù)組刪除元素前:"+objArray);
objArray.remove(1);//通過鍵值對该肴,按鍵刪除
? ? ? ? objArray.remove("第 0 個元素");//通過鍵值對,按鍵值刪除
? ? ? ? System.out.println("數(shù)組刪除元素后:"+objArray);
}
}
輸出結(jié)果:
12藐不、Java 實例 – 數(shù)組差集:使用 removeAll () 方法來計算兩個數(shù)組的差集匀哄。
public class Array_DefferenceSet {
public Array_DefferenceSet(){
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 數(shù)組差集為:"+objArray);
}
}
輸出結(jié)果:
13、Java 實例 – 數(shù)組交集:
public class Array_Mixed {
public Array_Mixed(){
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 數(shù)組元素:"+objArray);
System.out.println("array2 數(shù)組元素:"+objArray2);
objArray.retainAll(objArray2);
System.out.println("array2 & array1 數(shù)組交集為:"+objArray);
}
}
輸出結(jié)果:
14雏蛮、Java 實例 – 在數(shù)組中查找指定元素:使用 contains () 方法來查找數(shù)組中的指定元素涎嚼。
public class Array_Find {
public Array_Find(){
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 的數(shù)組元素:"+objArray);
System.out.println("objArray2 的數(shù)組元素:"+objArray2);
System.out.println("objArray 是否包含字符串common2? : "
? ? ? ? ? ? ? ? +objArray.contains("common2"));
System.out.println("objArray2 是否包含數(shù)組 objArray? :"
? ? ? ? ? ? ? ? +objArray2.contains(objArray) );
}
}
輸出結(jié)果:
15、Java 實例 – 判斷數(shù)組是否相等:使用 equals ()方法來判斷數(shù)組是否相等挑秉。
public class Array_Equal {
public Array_Equal(){
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("數(shù)組 ary 是否與數(shù)組 ary1相等? :"
? ? ? ? ? ? ? ? +Arrays.equals(ary, ary1));
System.out.println("數(shù)組 ary 是否與數(shù)組 ary2相等? :"
? ? ? ? ? ? ? ? + Arrays.equals(ary, ary2));
}
}
輸出結(jié)果:
16法梯、Java 實例 - 數(shù)組并集:使用 union ()方法來計算兩個數(shù)組的并集。
public class Array_Union {
public Array_Union(){
String[] arr1 = {"1","2","3" };
String[] arr2 = {"4","5","6" };
String[] result_union =union(arr1, arr2);
System.out.println("數(shù)組1的元素有:");
new Array_Print(arr1);
System.out.println("\n數(shù)組2的元素有:");
new Array_Print(arr2);
System.out.println("\n并集的結(jié)果如下:");
for (String str : result_union) {
System.out.print(str+"? ");
}
}
// 求兩個字符串數(shù)組的并集犀概,利用set的元素唯一性
? ? public static String[] union(String[] arr1, String[] arr2) {
Set set =new HashSet();
for (String str : arr1) {
set.add(str);
}
for (String str : arr2) {
set.add(str);
}
String[] result = {? };
return set.toArray(result);
}
}
輸出結(jié)果: