数组排序及元素查找
sort()方法对Java数组进行排序。
binarySearch() 方法来查找数组中的元素,返回该元素所在的位置。
import java.util.*;public classtest {public static voidmain(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(intarray[]){
System.out.println("数组排序结果:" + ": [length: " + array.length + "]");for (int i=0; i
System.out.print(", ");
}
System.out.print(array[i]);
}
System.out.println();
}
}
获取数组长度
使用数组length属性来获取数组的长度。
public classMain {public static voidmain(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.*;
importjava.util.ArrayList;importjava.util.Collections;public classtest {public static voidmain(String[] args){
ArrayList arrayList= newArrayList();
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.*;
importjava.util.Arrays;importjava.util.Collections;public classtest {public static voidmain(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) 方法将两个数组合并为一个数组。
importjava.util.Arrays;importjava.util.ArrayList;importjava.util.List;public classtest {public static voidmain(String args[]) {
String a[]= { "A", "E", "I"};
String b[]= { "O", "U"};
List list= newArrayList(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 classFillTest {public static voidmain(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 classtest {public static voidmain(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()也有两种。
importjava.util.ArrayList;public classtest {public static voidmain(String[] args) {
ArrayList objArray= newArrayList();
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 () 方法来计算两个数组的差集。
importjava.util.ArrayList;public classtest {public static voidmain(String[] args) {
ArrayList objArray= newArrayList();
ArrayList objArray2= newArrayList();
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 () 方法来计算两个数组的交集。
importjava.util.ArrayList;public classtest {public static voidmain(String[] args) {
ArrayList objArray= newArrayList();
ArrayList objArray2= newArrayList();
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。
importjava.util.ArrayList;public classtest {public static voidmain(String[] args) {
ArrayList objArray= newArrayList();
ArrayList objArray2= newArrayList();
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。
importjava.util.Arrays;public classtest {public static void main(String[] args) throwsException {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));
}
}