当前位置: 首页 > article >正文

JAVA基础-API-Arrays工具类

Arrays

操作数组的工具类
在这里插入图片描述

代码实例:

package ArraysDemo;
import java.util.Arrays;
public class Test {
    public static void main(String[] args) {



        //tostring:将数组变成字符串
        int[]arr={1,2,3,4,5,6,7,8,9,10};
        System.out.println(Arrays.toString(arr));//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        //binarysearch:二分查找法查找元素
        System.out.println(Arrays.binarySearch(arr,10));//9
        System.out.println(Arrays.binarySearch(arr, 2));//1
        System.out.println(Arrays.binarySearch(arr, 20));//-11

        //copyOf:拷贝数组
        //参数一:老数组
        //参数二:新数组的长度
        //方法的底层会根据第二个参数来创建新的数组
        // 如果新数组的长度是小于老数组的长度,会部分拷贝
        // 如果新数组的长度是等于老数组的长度,会完全拷贝
        // 如果新数组的长度是大于老数组的长度,会补上默认初始
        int[]newArr1 = Arrays.copyOf(arr, 20);
        System.out.println(Arrays.toString(newArr1));//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

        //copyOfRange:拷贝数组(指定范围)
        //细节:包头不包尾,包左不包右
        int[]newArr2=Arrays.copyOfRange(arr,0,9);
        System.out.println(Arrays.toString(newArr2));//[1, 2, 3, 4, 5, 6, 7, 8, 9]

        //fi11:填充数组
        Arrays.fill(arr,100);
        System.out.println(Arrays.toString(arr));//[100, 100, 100, 100, 100, 100, 100, 100, 100, 100]
        //sort:排序。默认情况下,给基本数据类型进行升序排列,底层是用快速排序
        int[]arr2={10,2,3,5,7,8,4,9};
        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));//[2, 3, 4, 5, 7, 8, 9, 10]


    }

}

Arrays.sort()方法默认是升序,如果想要用降序,需要重写该方法

package ArraysDemo;

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

public class Test2 {
    public static void main(String[] args) {
        Integer[]arr={10,2,3,5,7,8,4,9};

        //重写sort方法
        Arrays.sort(arr, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                //如果是o1-o2就是升序,如果是o2-o1就是降序
                return o2-o1;
            }
        });

        System.out.println(Arrays.toString(arr));//[10, 9, 8, 7, 5, 4, 3, 2]
    }
}


http://www.kler.cn/news/356199.html

相关文章:

  • Gee引擎架设教程:Gee引擎人形怪物设置,MonUseItems配置文件讲解
  • 【安当产品应用案例100集】021- 针对电网接入设备的控制指令安全解决方案
  • 红队攻防之隐匿真实IP
  • 【VUE】为什么要避免v-for和v-if在一起使用
  • 【Unity新闻】Unity 6 正式版发布
  • 大模型带来新安全机遇
  • 【idea技巧篇】idea的类注释和方法注释模版自定义设置
  • 如果有100万条消息堆积在MQ怎么解决
  • 2024 年 9 月区块链游戏研报:行业回暖,Telegram 游戏引发热潮
  • [工程构建] 使用 pkg-config 的 cmake 模板
  • laravel-admin后台子账号菜单配置详解
  • ant-design-vue 时间选择器 a-date-picker 单组件设置国际化失效问题解决
  • 网数中心举办CISAW安全软件教师培训 助力国家网络安全战略
  • 众数信科荣登“2024 CHINA AIGC 100”榜单
  • 如何修改网络ip地址:一步步指南‌
  • 【C语言】sizeof和strlen的区别
  • 【C语言】指针与函数:传值与传址
  • 【汇编语言】寄存器(内存访问)(六)—— 栈
  • k8s 1.28.2 集群部署 harbor v2.11.1 接入 MinIO 对象存储
  • Linux文件操作基础