java--数组操作集合

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


}

猜你喜欢

转载自blog.csdn.net/CUITAO2305532402/article/details/111599328