import java.util.Arrays;
public class ArraysStu {
/*Arrays:封装了很多对于数组进行排序,查询等处理方法的工具类
*api:
*1.binarySearch(byte[] a, int fromIndex, int toIndex, byte key):在指定范围搜索元素,返回索引
*2.copyOf(原数组,长度);复制指定数组的指定长度,并返回
*3.copyOfRange(boolean[] original, int from, int to):复制指定范围的原数组,返回,前闭后开
*4.arraycopy(Object src, int srcPos, Object dest, int destPos, int length):复制
*src:原数组
*srcPos:从原数组复制的开始位置
*dest:目标数组
*destPos:目标数组粘贴的起始位置
*length:复制的长度
*5.equals:比较数组的内容
*6.fill(boolean[] a, boolean val):填充数组的元素
*7.hashCode():返回跟数组内容相关的hashcode
*8.sort():升序排列
*/
static int[] arr = {1,2,3,4,5,6,7,8,90};
public static void main(String[] args)
{
demo7();
}
//引用类型2分查找
public static void demo1(){
Person[] arr = new Person[5];
for (int i = 0; i < arr.length; i++)
{
arr[i] = new Person("p"+i,i+10,i+10);
}
//System.out.println(arr[0]<arr[1]);
int index = BinarySearch.binarySearch(arr,new Person("p0",13,13));
System.out.println(arr[index]);
}
//copyOf
public static void demo2(){
int[] arr1 = Arrays.copyOf(arr,5);
System.out.println(Arrays.toString(arr1));
}
//copyOfRange
public static void demo3(){
int[] arr1 = Arrays.copyOfRange(arr, 2, 5);
System.out.println(Arrays.toString(arr1));
}
//arrayCopy
public static void demo4(){
int[] arr1 = new int[5];
System.arraycopy(arr, 2,arr1,0,5);//注意下标越界
System.out.println(Arrays.toString(arr1));
}
public static void demo5(){
int[] arr1 = Arrays.copyOf(arr, arr.length);
System.out.println(arr.equals(arr1));
System.out.println(Arrays.equals(arr, arr1));
int[][] arr2 = {arr,arr1};
int[][] arr3 = {arr1,arr};
System.out.println(Arrays.equals(arr2, arr3));//处理一维数组
System.out.println(Arrays.deepEquals(arr2, arr3));//处理多维数组
System.out.println(Arrays.deepToString(arr2));
System.out.println(Arrays.toString(arr2));
System.out.println(Arrays.hashCode(arr1));
System.out.println(Arrays.hashCode(arr));
System.out.println(arr1.hashCode());
System.out.println(arr.hashCode());
}
public static void demo6(){
Arrays.fill(arr,2,5,999);
System.out.println(Arrays.toString(arr));
}
//排序
public static void demo7(){
Person[] arr = new Person[5];
for (int i = 0; i < arr.length; i++)
{
int age = (int)(Math.random()*(15-12+1))+12;
int salary = (int)(Math.random()*(500-200+1))+200;
arr[i] = new Person("p"+i,age,salary);
}
System.out.println(Arrays.toString(arr));
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
/*Arrays:封装了很多对于数组进行排序,查询等处理方法的工具类
*api:
*1.binarySearch(byte[] a, int fromIndex, int toIndex, byte key):在指定范围搜索元素,返回索引
*2.copyOf(原数组,长度);复制指定数组的指定长度,并返回
*3.copyOfRange(boolean[] original, int from, int to):复制指定范围的原数组,返回,前闭后开
*4.arraycopy(Object src, int srcPos, Object dest, int destPos, int length):复制
*src:原数组
*srcPos:从原数组复制的开始位置
*dest:目标数组
*destPos:目标数组粘贴的起始位置
*length:复制的长度
*5.equals:比较数组的内容
*6.fill(boolean[] a, boolean val):填充数组的元素
*7.hashCode():返回跟数组内容相关的hashcode
*8.sort():升序排列
*/
static int[] arr = {1,2,3,4,5,6,7,8,90};
public static void main(String[] args)
{
demo7();
}
//引用类型2分查找
public static void demo1(){
Person[] arr = new Person[5];
for (int i = 0; i < arr.length; i++)
{
arr[i] = new Person("p"+i,i+10,i+10);
}
//System.out.println(arr[0]<arr[1]);
int index = BinarySearch.binarySearch(arr,new Person("p0",13,13));
System.out.println(arr[index]);
}
//copyOf
public static void demo2(){
int[] arr1 = Arrays.copyOf(arr,5);
System.out.println(Arrays.toString(arr1));
}
//copyOfRange
public static void demo3(){
int[] arr1 = Arrays.copyOfRange(arr, 2, 5);
System.out.println(Arrays.toString(arr1));
}
//arrayCopy
public static void demo4(){
int[] arr1 = new int[5];
System.arraycopy(arr, 2,arr1,0,5);//注意下标越界
System.out.println(Arrays.toString(arr1));
}
public static void demo5(){
int[] arr1 = Arrays.copyOf(arr, arr.length);
System.out.println(arr.equals(arr1));
System.out.println(Arrays.equals(arr, arr1));
int[][] arr2 = {arr,arr1};
int[][] arr3 = {arr1,arr};
System.out.println(Arrays.equals(arr2, arr3));//处理一维数组
System.out.println(Arrays.deepEquals(arr2, arr3));//处理多维数组
System.out.println(Arrays.deepToString(arr2));
System.out.println(Arrays.toString(arr2));
System.out.println(Arrays.hashCode(arr1));
System.out.println(Arrays.hashCode(arr));
System.out.println(arr1.hashCode());
System.out.println(arr.hashCode());
}
public static void demo6(){
Arrays.fill(arr,2,5,999);
System.out.println(Arrays.toString(arr));
}
//排序
public static void demo7(){
Person[] arr = new Person[5];
for (int i = 0; i < arr.length; i++)
{
int age = (int)(Math.random()*(15-12+1))+12;
int salary = (int)(Math.random()*(500-200+1))+200;
arr[i] = new Person("p"+i,age,salary);
}
System.out.println(Arrays.toString(arr));
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
一个不错的java项目:
JAVA WEB 项目教程-模仿天猫整站 J2EE版