package com.company;
import java.util.*;
/*
数组排序及元素查找
数组添加元素
获取数组长度
数组反转
数组输出
数组获取最大和最小值
数组合并
数组填充
数组扩容
查找数组中的重复元素
删除数组元素
数组差集
数组交集
在数组中查找指定元素
判断数组是否相等
数组并集
*/
import java.util.Arrays;
public class ArrayTest {
public static void main(String[] args) {
//数组排序及元素查找
int[] array1 = {1, 8, 5, 2, 4, 6, -1, 4, -3};
System.out.println("array1:" + Arrays.toString(array1));
Arrays.sort(array1);
System.out.println("array1 sort:" + Arrays.toString(array1));
//元素查找
int index = Arrays.binarySearch(array1, 22);
System.out.println("元素 2 在第 " + index + " 个位置");
//数组添加元素
int newIndex = -index - 1;
array1 = insertElement(array1, 7, newIndex);
System.out.println("添加新元素:" + Arrays.toString(array1));
//数组反转
ArrayList<String> array2 = new ArrayList<String>();
array2.add("A");
array2.add("B");
array2.add("C");
array2.add("D");
System.out.println("反转之前:" + array2);
Collections.reverse(array2);
System.out.println("反转之后:" + array2);
//最大值和最小值
Integer[] numbers = {3, 51, 345, 3, 4, 2, 1};
int min = Collections.min(Arrays.asList(numbers));
int max = Collections.max(Arrays.asList(numbers));
System.out.println("min:" + min + " max:" + max);
//数组合并
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));
//数组填充
int[] array3 = new int[6];
Arrays.fill(array3, 100);
System.out.println("array3:" + Arrays.toString(array3));
Arrays.fill(array3, 3, 6, 50);
System.out.println("array3:" + Arrays.toString(array3));
//数组扩容
String[] names = new String[]{"A", "B", "C"};
String[] extended = new String[5];
extended[2] = "D";
extended[4] = "E";
System.arraycopy(names, 0, extended, 0, names.length);
System.out.println("names:" + Arrays.toString(extended));
//数组差集
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);
//数组交集
objArray.retainAll(objArray2);
System.out.println("array2 & array1 数组交集为:" + objArray);
//判断是否含有指定元素
boolean bb = objArray.contains("common1");
System.out.println(bb);
//判断数组是否相等
boolean bbb = Arrays.equals(a, b);
System.out.println(bbb);
}
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;
}
}
网友评论