- 数组排序
public class SortArray {
public static void main(String[] args) {
int array[] = {2,3,6,9,-2,5,6,8,1};
Arrays.sort(array);
printArray("排序结果是:",array);
int index = Arrays.binarySearch(array,2);
System.out.println("元素2在第 " + index + "个位置");
}
/**
* 打印数组元素
* @param s
* @param array
*/
private static void printArray(String s, int[] array) {
System.out.print(s+ "[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();
}
}
- 数组插入元素
public class InsertElement {
public static void main(String[] args) {
int array[] = {2,3,6,9,-2,5,6,8,1};
Arrays.sort(array);
printArray("排序结果是:",array);
int index = Arrays.binarySearch(array,4);
System.out.println("元素4在第 " + index + "个位置");
int newIndex = -index;
array = insertElement(array,4,newIndex);
printArray("插入元素4后: ", array);
}
/**
* 数组中插入元素
* @param original
* @param i
* @param index
* @return
*/
private static int[] insertElement(int[] original, int i, int index) {
int[] destination = new int[original.length + 1];
System.arraycopy(original, 0, destination, 0, index);
original[index] = i;
System.arraycopy(original, index, destination, index + 1, original.length - index);
return destination;
}
/**
* 打印数组元素
* @param s
* @param array
*/
private static void printArray(String s, int[] array) {
System.out.print(s+ "[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();
}
}
- 数组合并
public class ArrayConcat {
public static void main(String[] args) {
String[] a = {"A","B","C"};
String[] b = {"E","F"};
List list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
Object[] c = list.toArray();
System.out.println(Arrays.toString(c));
}
}
- 数组求最值
public class ArrayMixValue {
public static void main(String[] args) {
Integer[] number = {1,2,3,-4,-5,-6,9,8,7,};
int min = (int) Collections.min(Arrays.asList(number));
int max = (int)Collections.max(Arrays.asList(number));
System.out.println("minValue: " + min);
System.out.println("maxValue: " + max);
}
}
- 数组填充
public class FillArray {
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]);
}
}
}
- 数组扩容
public class ExtendArray{
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.println(str);
}
}
}
- 查找数组重复元素
public class FindDupicateArray {
public static void main(String[] args)
{
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<a.length;j++) {
for(int k =j+1;k<a.length;k++) {
if(a[j]==a[k]) {
count++;
}
}
if(count==1)
System.out.println( "重复元素 : " + a[j] );
count = 0;
}
}
}
- 删除数组元素
public class DelElement {
public static void main(String[] args) {
ArrayList<String> objArray = new ArrayList<String>();
objArray.clear();
objArray.add(0,"第 0 个元素");
objArray.add(1,"第 1 个元素");
objArray.add(2,"第 2 个元素");
objArray.add(3,"第 0 个元素");
System.out.println("数组删除元素前:"+objArray);
objArray.remove(2);
objArray.remove("第 0 个元素");//only delete the first element in the array
System.out.println("数组删除元素后:"+objArray);
}
}
- 数组的差、交、并集
public class SetOfArray {
public static void main(String[] args) throws Exception{
String[] arr1 = {"1", "2", "3","4"};
String[] arr2 = {"4", "5", "6"};
String[] result_union = union(arr1, arr2);
ArrayList arr11 = new ArrayList(Arrays.asList(arr1));
ArrayList arr21 = new ArrayList(Arrays.asList(arr2));
ArrayList arr12 = new ArrayList(Arrays.asList(arr1));
ArrayList arr22 = new ArrayList(Arrays.asList(arr2));
arr11.removeAll(arr21);
arr12.retainAll(arr22);
System.out.println("并集的结果如下:");
for (String str : result_union) {
System.out.println(str);
}
System.out.println("差集的结果如下: " + arr11);
System.out.println("交集的结果如下: " + arr12);
}
private static String[] union(String[] arr1, String[] arr2) {
Set<String> set = new HashSet<String>();
for (String s : arr1) {
set.add(s);
}
for (String s : arr2) {
set.add(s);
}
String[] result = {};
return set.toArray(result);
}
}