Loading... > java.util.Arrays:此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法。 # 1、静态方法 `public static String toString(数组)` :返回指定数组内容的字符串表示形式 `public static void sort(s数组)` :对数组进行排序 【注】 1. 数值:默认按升序排列 2. 字符串:默认按字母升序排列 3. 自定义类型:需要 `Comparable` 和 `Comparator` 接口支持 # 2、练习 使用 Arrays 相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印 ```java has-numbering public static void main(String[] args) { // 定义字符串 String str = "hufsdaHUHUlkjJLJlj112"; // 将字符串转为字符数组 char[] strChars = str.toCharArray(); // 升序排序 Arrays.sort(strChars); // 直接输出 System.out.println(strChars); // 112HHJJLUUadfhjjkllsu // 直接输出了数据值,是因为println方法的重载,接收字符数组输出数据值 // 转换为字符串输出 System.out.println(Arrays.toString(strChars)); // [1, 1, 2, H, H, J, J, L, U, U, a, d, f, h, j, j, k, l, l, s, u] // 倒序输出 for (int i = strChars.length - 1; i >= 0; i--) { // usllkjjhfdaUULJJHH211 System.out.print(strChars[i]); } } ``` # 3.自定义类型排序 1、`Arrays.sort(int[] a)` 这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。 2、`Arrays.sort(int[] a, int fromIndex, int toIndex)` 这种形式是对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序 3、`public static <T> void sort(T[] a,int fromIndex, int toIndex, Comparator<? super T> c)`,用户可自定义排序 ```java package test; import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { //注意,要想改变默认的排列顺序,不能使用基本类型(int,double, char) //而要使用它们对应的类 Integer[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5}; //定义一个自定义类MyComparator的对象 Comparator cmp = new MyComparator(); Arrays.sort(a, cmp); for(int i = 0; i < a.length; i ++) { System.out.print(a[i] + " "); } } } //Comparator是一个接口,所以这里我们自己定义的类MyComparator要implents该接口 class MyComparator implements Comparator<Integer>{ @Override public int compare(Integer o1, Integer o2) { //如果n1小于n2,我们就返回正值,如果n1大于n2我们就返回负值, //这样颠倒一下,就可以实现反向排序了 if(o1 < o2) { return 1; }else if(o1 > o2) { return -1; }else { return 0; } } } ``` > 感谢小伙伴们的关注! > 你的点赞、评论、关注、收藏是对博主的最大鼓励! > 持续更新JavaSE学习笔记!欢迎订阅专栏! 最后修改:2021 年 11 月 25 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏