• java常用类及其方法


    rrays的常用方法那肯定是在Arrays类内了,所以导包:java.util.Arrays;

    1.Arrays.toString()方法

    方法作用:快速输出数组内容

    1. int[] a = {1,2,3,4,5};
    2. System.out.println(Arrays.toString(a));
    3. // 输出格式:[1,2,3,4,5]

    2.Arrays.equals()方法

    方法作用:比较两个数组内容是否相等

    1. int[] a = {1,2,3};
    2. int[] b = {1,2,3};
    3. boolean isSame = Arrays.equals(a,b);
    4. //true

    注意:Arrays.equals()是比较数组内容,而a.equals(b) 这样的方法是比较非数组内容

    注意:以后使用java提供的引用数据内容(数组、字符串、各种集合....)时,一定要用equals()方法比较内容是否相等,而不是傻傻的用 ==了!因为官方已经把equals()给重写了。如果你要比较你自己写的类,例如学生按成绩排序,就要自己重写equals()方法

    3.Arrays.binarySearch()

    方法作用:在数组中查找元素

    int Arrays.binarySearch( Datatype[], Datatype key)

    再数组中查找指定值,若找到,则返回此值的下标,

    若没找到,返回 插入点+1;;

    如:

    1. int[] a = {1,5,6,7};
    2. Arrays.binarySearch(a,2) //没找到,插入点为1,则返回 -2
    3. Arrays.binarySearch(a,4) //没找到,插入点为1,则返回 -2
    4. Arrays,binarySearch(a,8) //没找到,插入点为4,则返回 -5
    5. Arrays.binarySearch(a,5) //找到了!返回下标 1
    6. 只要返回值 ≥ 0 ,就代表找到了。

    4.Arrays.copyOf()

    方法作用:拷贝数组

    源码如下:第一个参数是原数组,第二个参数是拷贝长度,返回值是将原数组拷贝一份返回

    (它的底层其实是调用了System.arrayCopy()方法)

    1. public static T[] copyOf(T[] original, int newLength) {
    2. return (T[]) copyOf(original, newLength, original.getClass());
    3. }

    需要注意的是返回值是一个新数组,会改变接收这个新数组的引用的一些属性

    1. public static void main(String[] args) {
    2. int[] arr1 = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    3. int[] arr2 = new int[5];
    4. arr2 = Arrays.copyOf(arr1, 10);
    5. }
    1. // from 表示开始位置, to 表示结束位置
    2. // 复制下标为 :[from, to)
    3. Arrays.copyOfRange(int[] original, int from, int to)

    5、数组填充

    1. array = new int[5];
    2. Arrays.fill(array, 2);
    3. out.println(Arrays.toString(array)); //[2, 2, 2, 2, 2]
    4. array = new int[5];
    5. Arrays.fill(array, 1, 4, 2); //部分填充
    6. out.println(Arrays.toString(array));//[0, 2, 2, 2, 0]

    6、数组转List

    1. int array = new int[]{3, 10, 4, 0, 2};
    2. out.println(Arrays.asList(array).contains(3)); //false
    3. Integer arr[] = new Integer[]{3, 10, 4, 0, 2};
    4. out.println(Arrays.asList(arr).contains(3)); //true
    1. int array = new int[]{3, 10, 4, 0, 2};
    2. List<int[]> ints = Arrays.asList(array);
    1. Integer arr[] = new Integer[]{3, 10, 4, 0, 2};
    2. List<Integer> integers = Arrays.asList(arr);

    Array.sort();待续

  • 相关阅读:
    小白备战大厂算法笔试(六)——堆
    【每日一题】第一天
    计算机专业一般怎么看文献,在哪看?
    C#宏定义
    聚观早报 | 抖音上线 Mac 客户端;理想 ONE 将不会再生产
    GitLab CI/CD 持续集成/部署 SpringBoot 项目
    LeetCode47:全排列②
    横坐标日期等间隔绘图 python示例代码
    JAVA图形化界面设计
    微服务学习第十一节
  • 原文地址:https://blog.csdn.net/weixin_42383952/article/details/126591635