Java Arrays类+常用集合方法

举报
光之梦 发表于 2023/10/26 17:16:57 2023/10/26
【摘要】 我的目标是:用通俗易懂的口语来为大家讲解 Java 的每一个语法知识,让零基础小白也能看懂,并且全部学会并能够熟练运用。

我的个人主页光之梦的博客_云社区-华为云 (huaweicloud.com)

欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,我会第一时间改正。非常感谢!

特别标注本博主将会长期更新c语言的语法知识,初学c语言的朋友们,可以收藏订阅一下我的<C语言基础语法>专栏。关注博主,学习不迷路哦



 一、Arrays 类

Arrays:数组操作工具类,专门用于操作数组元素

方法名 说明
public static String toString(类型[] a) 将数组元素拼接为带有格式的字符串
public static boolean equals(类型[] a, 类型[] b) 比较两个数组内容是否相同
public static int binarySearch(int[] a, int key) 查找元素在数组中的索引 (二分查找法)
public static void sort(类型[] a) 对数组进行默认升序排序


常用集合方法

第一个将数组元素拼接为带有格式的字符串

public static String toString(类型[ ] a)

public class ArraysDemo {
    public static void main(String[] args) {
        int[] arr1 = {11,22,33,44,55};
​
        //将数组元素拼接为带有格式的字符串
        System.out.println(Arrays.toString(arr1));
    }
}

运行结果:

[11, 22, 33, 44, 55]



第二个比较两个数组内容是否相同

public static boolean equals(类型[] a, 类型[] b)

public class ArraysDemo {
    public static void main(String[] args) {
        int[] arr1 = {11,22,33,44,55};
        int[] arr2 = {11,22,33,44,55};
​
        //比较两个数组的内容是否相同
        System.out.println(Arrays.equals(arr1,arr2));
    }
}

运行结果:

true



第三个 查找元素在数组中的索引 (二分查找法)

public static int binarySearch(int[] a, int key)

二分查找法:保证数组的元素是排好序的,不然它给你返回的索引就是错误的)。如果查找的元素,在数组中不存在:返回(-(插入点)-1

注:用这个来查找,必须保证你的元素在一开始就是排好序的,不然就算你之后先排好序再调用binarySearch这样查找后的索引也还是错的,因为你排序改变了它最初的位置。所以要使用binarySearch你的元素必须在一开始就是排好顺序的

public class ArraysDemo {
    public static void main(String[] args) {
        int[] arr1 = {11,22,33,44,55};
        int[] arr2 = {11,22,33,44,55};
​
        //查找元素在数组中的索引
        System.out.println(Arrays.binarySearch(arr1,33));
        System.out.println(Arrays.binarySearch(arr2,66));
    }
}

运行结果:

2
-6

插入点指的是:你的索引位置

也就是说如果66存在,那么按照排序它应该会出现在55后面,也就是5

所以:-(5)-1 = -6



第四个: 对数组进行默认升序排序

public static void sort(类型[] a)

public class ArraysDemo {
    public static void main(String[] args) {
        
        int[] nums = {22,11,55,44,33};
        
        //对数组进行默认升序排序
        Arrays.sort(nums);
        System.out.println(Arrays.toString(nums));
    }
}

运行结果:

[11, 22, 33, 44, 55]




欢乐的时光总是过得快,又到时间说拜拜了

各位学习Java语言的友友,如果有问题随时都可以来问我,我会随时为您解答!欢迎大家与我一起学习,互相进步。

创作不易,👍 +⭐ +📝(一键三连) 是对博主最大的鼓励与支持哦。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。