25、Java 基础-Arrays 工具类

Java Arrays工具类

java.util.Arrays工具类的常用方法:

1、asList

将数组转换成List,List提供了很多的操作方法,更便于使用。

public void test1(){
    List<String> lists = Arrays.asList(array);
}
2、sort排序和parallelsort并行排序

sort比较常用了,根据元素按照自然排序规则排序,也可以设置排序元素的起始位置。

public void sort(){
   /* Arrays.sort(array);
    for(String str : array){
        System.out.println(str);
    }*/
    Arrays.sort(array,2,5);
    System.out.println(Arrays.deepToString(array));//[a, c, 1, 2, b]
}

parallelsort则采用并行的排序算法排序。
注意:sort方法会改变原始数组。

3、binarysearch(二分查找)

查找目标元素所在的位置,注意需要先进行排序。

public void binarySearch(){
    //binarySearch需要保证是排好序的,否则,会产生错误结果
    System.out.println(Arrays.binarySearch(array,"c"));//-6
    Arrays.sort(array);
    System.out.println(Arrays.binarySearch(array,"c"));//4
}
4、copyof

拷贝数组,第一种用法:如果目标长度不够,会使用0进行补位。第二种用法:支持拷贝到目标起始位置到结束为止的数组。

public void copyOf(){
    //如果位数不够,需要补位
    Integer[] result = Arrays.copyOf(ints,10);
    for(int i : result){
        System.out.println(i);
    }
    System.out.println("----------------------------------------->");
    //如果位数够,就取最小的数组
    result = Arrays.copyOf(ints,3);
    for(int i : result){
        System.out.println(i);
    }
    System.out.println("----------------------------------------->");
    //
    result = Arrays.copyOfRange(ints,2,4);
    for(int i : result){
        System.out.println(i);
    }
}
5、fill

基于目标元素填充数组

public void fill(){
    Arrays.fill(array,"test");
    System.out.println(Arrays.deepToString(array));//[test, test, test, test, test]
}
6、equals

对比两个数组是否相等

public void equals(){
    String[] array2 = new String[]{"a","c","2","1","b"};

    //1 对比引用是否相同
    //2 对比是否存在null
    //3 对比长度是否相同
    //4 挨个元素对比
    System.out.println(Arrays.equals(array,array2));
}
7、toString

打印数组元素

public void string(){
    System.out.println(Arrays.toString(array));//[a, c, 2, 1, b]
}

完整示例代码地址:Day25

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值