public static void main(String[] args) {
//数组创建
int[] sample = {1, 2, 5, 3, 8};
sample = new int[]{1, 22, 3, 6, 8};
Integer[] integers = new Integer[sample.length];
//查看数据内容的字符串表现形式【数组是个对象,直接看不了里边的内容,须通过Arrays.toString查看内容】
System.out.println(Arrays.toString(sample));//[1, 22, 3, 6, 8]
//数组排序,默认是升序排序
Arrays.sort(sample);
System.out.println(Arrays.toString(sample));//[1, 3, 6, 8, 22]
//数组排序,倒排序
for (int i = 0; i < sample.length; i++) {
integers[i] = sample[i];
}
Arrays.sort(integers, Collections.reverseOrder());//这里需要int-->Integer型数组
System.out.println(Arrays.toString(integers));//[22, 8, 6, 3, 1]
//二分法搜索数组中某个元素的下标
int index = Arrays.binarySearch(sample, 3);
System.out.println("数组sample中元素3的下标:" + index); //1
//用指定值填充某个数组
String[] strings = new String[6];
Arrays.fill(strings, "wahaha");
System.out.println(Arrays.toString(strings));//[wahaha, wahaha, wahaha, wahaha, wahaha, wahaha]
//将一个数组变量拷贝给另一个数组变量,两个变量引用同一个地址
String[] stringArray = strings;
System.out.println(stringArray.toString());//[Ljava.lang.String;@4554617c
System.out.println(strings.toString());//[Ljava.lang.String;@4554617c
//判断数组相等[元素个数相等,相同位置上的元素也相等]
System.out.println(stringArray.toString().equals(strings.toString()));//true
//已拷贝的形式创建一份新数组,并设置数组长度【较原来多了,int:0 ,Integer补 null , Boolean补: false ,少了拷贝前面的数据元素】
Integer[] newArray = Arrays.copyOf(integers, 10);
System.out.println("超了:Integer 补null" + Arrays.toString(newArray));//超了:Integer 补null[22, 8, 6, 3, 1, null, null, null, null, null]
Integer[] newStrings = Arrays.copyOf(integers, 3);
System.out.println("少了截取前三位: " + Arrays.toString(newStrings));//少了截取前三位: [22, 8, 6]
// 截取旧数组一段,作为做为新的数组[顾前不顾后]
Integer[] int_0_2 = Arrays.copyOfRange(integers, 0, 2);
System.out.println(Arrays.toString(int_0_2));//[22, 8]
//判断数组中是否包含某个值[实质是借用List的contains 方法]
Boolean b = Arrays.asList(integers).contains(22);
System.out.println(b);//true
//数组转list
List<Integer> list = Arrays.asList(integers);
System.out.println(list);//[22, 8, 6, 3, 1] list作为一个集合,不像数组一样封装成一个对象,直接不可以查看内容
Integer[] integers1 = (Integer[]) list.toArray();
System.out.println(Arrays.toString(integers1));//[22, 8, 6, 3, 1]
// 两个坑:
//1:list.toArray ->Object[],需要强转
//2:需要有接收的返回值,如: Integer[] integers1
}
java--数组操作集合
猜你喜欢
转载自blog.csdn.net/CUITAO2305532402/article/details/111599328
今日推荐
周排行