java常用类--Arrays工具类
发布日期:2021-05-15 01:31:26 浏览次数:17 分类:精选文章

本文共 2147 字,大约阅读时间需要 7 分钟。

Java中的Arrays工具类提供了丰富的数组操作方法,涵盖数组与集合的转换、排序、二分查找、拷贝、比较以及字符串化等多种功能。这些方法在日常开发中非常有用,能帮助开发者更高效地处理数组操作,提升代码质量。

1. 数组与集合的转换:Arrays.asList()

Arrays.asList() 是将数组转换为集合的桥梁。将一个数组通过该方法可以轻松获得一个List对象。比如,字符串数组可以通过Arrays.asList()转换成List。转换后的List可以与集合一样使用集合方法操作。此外,可以通过将List转换为数组再进行其他操作。例如:

String[] nameStrings = {"Larry", "Moe", "Curly"};
List
stooges = Arrays.asList(nameStrings);
Object[] names = stooges.toArray();
System.out.println(names[0]); // 输出 "Larry"

这种转换为集合的方法在数据处理时非常方便,简化了许多操作。

2. 排序:Arrays.sort()

Arrays.sort() 用于对数组进行排序,支持多种参数类型,包括基本数据类型和对象数组。重要的是,在排序前,数组必须已经排好序,否则排序后的结果将不符合预期。对于自定义对象数组,可以根据特定属性(如名称或年龄)进行排序。例如:

int[] data = {1, 230, 3, 50, 40};
Arrays.sort(data); // 排序后的数组为 {1, 3, 40, 50, 230}

更复杂的示例是对PersonDto对象数组进行排序,根据不同的属性:

PersonDto[] array = {zhangsan, lisi, wangwu, zhaoliu};
Arrays.sort(array, Comparator.comparing(PersonDto::getName));
// 根据名称排序后的数组顺序为:zhangsan, lisi, wangwu, zhaoliu

3. 二分查找法:Arrays.binarySearch()

Arrays.binarySearch() 用于在已排序好的数组中快速查找特定值。需要注意的是,使用二分查找前,必须确保数组已排序。该方法返回一个索引值,表示查找到的值在数组中的位置,若未找到则返回负数。例如:

int[] data = {1, 230, 3, 50, 40};
Arrays.sort(data); // 排序后数组为:{1, 3, 40, 50, 230}
int index = Arrays.binarySearch(data, 40); // 返回索引4

对于更复杂的对象数组,可以使用自定义的Comparator进行比较:

Arrays.sort(array, Comparator.comparing(PersonDto::getName));
int index = Arrays.binarySearch(array, new PersonDto("lisi", 40L), Comparator.comparing(PersonDto::getName));

4. 拷贝:Arrays.copyOf()

Arrays.copyOf() 和 copyOfRange() 方法用于对数组进行拷贝。copyOf()从原数组开始拷贝到指定长度,超出长度部分填充null;copyOfRange()则从指定起点拷贝到指定终点:

Integer[] data1 = {1, 2, 3, 4};
Integer[] data2 = Arrays.copyOf(data1, 2); // 拷贝前两项:[1, 2]
Integer[] data3 = Arrays.copyOf(data1, 5); // 拷贝前4项并填充第五项为null:[1, 2, 3, 4, null]

5. 数组比较:Arrays.equals()

Arrays.equals() 用于判断两个数组是否相等,无论是内容和顺序都必须一致。例如:

Integer[] data1 = {1, 2, 3};
Integer[] data2 = {1, 2, 3};
boolean equal = Arrays.equals(data1, data2); // 返回true

别的情况与源码一致。

6. 数组字符串化:Arrays.toString()

Arrays.toString() 将数组转换为字符串形式,便于打印和调试。例如:

Integer[] data = {1, 2, 3};
String arrayString = Arrays.toString(data); // 输出 "[1, 2, 3]"

总结来说,Arrays工具类提供了对数组操作的多样化方式,使开发过程更加高效和简单。在使用这些方法时,准确理解每个方法的用途并掌握其最佳实践至关重要。同时,掌握这些操作对于提升代码性能和可读性尤为重要。

上一篇:java常用类---Collections源码解析及常用方法使用
下一篇:java常用关键字总结

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月16日 10时19分18秒