0
点赞
收藏
分享

微信扫一扫

Java - 常用类 - Arrays(综合)

耶也夜 2022-01-04 阅读 57

文章目录

Arrays类常见方法应用案例

  • Arrays里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索)。

1.toString()返回数组的字符串形式

2.sort()排序(自然排序和定制排序)

通过匿名内部类重写compare方法实现sort反排序(难度较大,学完基础回头再看)

package com.tao.arrays_;

import java.util.Arrays;
import java.util.Comparator;

/**
 * Create By 刘鸿涛
 * 2022/1/3 21:49
 */
public class ArryasMethod01 {
    public static void main(String[] args) {
        Integer[] integers = {40, 20, 90};
        Arrays.sort(integers, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                Integer i1 = (Integer) o1;
                Integer i2 = (Integer) o2;
                return i2 - i1;
            }
        });
        System.out.println(Arrays.toString(integers));
    }
}

3.binarySearch 通过二分搜索法进行查找,要求必须排好序

如果没有这个元素,则返回 return -(low + 1)

package com.tao.arrays_;

import java.util.Arrays;

/**
 * Create By 刘鸿涛
 * 2022/1/3 22:09
 */
public class ArryasMethod02 {
    public static void main(String[] args) {
        Integer[] arr = {1, 2, 90, 123, 555};
        int index = Arrays.binarySearch(arr, 92);
        //因为92不再数组中因此根据源码来看,返回的是
        //return -(low + 1); low代表它应该存在的位置
        System.out.println(index);
    }
}

4.copyOf数组元素的复制

越界情况赋值为“null“

package com.tao.arrays_;

import java.util.Arrays;

/**
 * Create By 刘鸿涛
 * 2022/1/3 22:09
 */
public class ArryasMethod02 {
    public static void main(String[] args) {
        Integer[] arr = {1, 2, 90, 123, 555};
        Integer[] newArr = Arrays.copyOf(arr,arr.length + 1);
        System.out.println(Arrays.toString(newArr));
    }
}

如果长度小于0,会报异常

5.fill 数组元素的填充

6.equals比较两个数组元素内容是否完全一致

boolean equals = Arrays.equals(arr,arr2);
package com.tao.arrays_;

import java.util.Arrays;

/**
 * Create By 刘鸿涛
 * 2022/1/3 22:09
 */
public class ArryasMethod02 {
    public static void main(String[] args) {
        Integer[] arr = {1, 2, 90, 123, 555};
        Integer[] arr2 = {1, 2, 90, 123, 555};
        System.out.println(Arrays.equals(arr,arr2));
    }
}

7.asList 将一组值,转换成list(集合,泛型)

List<Integer> asList = Arrays.asList(2,3,4,5,6,1);
System.out.println("asList=" + asList); 
package com.tao.arrays_;

import java.util.Arrays;
import java.util.List;

/**
 * Create By 刘鸿涛
 * 2022/1/3 22:09
 */
public class ArryasMethod02 {
    public static void main(String[] args) {
        //1.asList方法,会将(2,3,4,5,6,1)数组转成一个List集合
        //2.返回的 asList 编译类型 List(接口)
        //3.asList 运行类型 class java.util.Arrays$ArrayList,是Arrays类的静态内部类 private staitc class ArrayList<E> extends AbstractList<E> implements RandomAccess, java.io.Serializable
        
        List<Integer> asList = Arrays.asList(2,3,4,5,6,1);
        System.out.println("asList= " + asList );
        System.out.println("asList的运行类型" + asList.getClass());
    }
}

举报

相关推荐

0 条评论