使用使用 Arrays.sort();对数字和字符串进行排序。
使用 Arrays.sort();对数字进行排序。
1.1.在对数字进行降序排列时,声明数组要用Integer,不能用int。
int和Integer的区别。
1、Integer是int的包装类,int则是java的一种基本数据类型;
2、Integer变量必须实例化后才能使用,而int变量不需要;
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值;
4、Integer的默认值是null,int的默认值是0。
package text;
import java.util.Arrays;
import java.util.Random;
public class Array1 {
public static void main(String[] args) {
Random random = new Random();
//Integer 降序时必须是Integer,升序是可以是int
Integer[] num = new Integer[10]; //生成十个数
for (int i = 0; i < num.length; i++) {
// num[i] = random.nextInt(100) + 1;//jdk1.8
num[i] = random.nextInt(1, 101);//jdk17
}
System.out.println("十个随机数为" + Arrays.toString(num));
//从小到大
Arrays.sort(num);
System.out.println("从小到大排序" + Arrays.toString(num));
//从大到小
Arrays.sort(num, (a, b) -> b - a);//a,b只是一个变量。可以写别的,如x,y等
System.out.println("从大到小排序" + Arrays.toString(num));
//无序排列
Arrays.sort(num, (a, b) -> Math.random() > .5 ? -1 : 1);
System.out.println("乱序" + Arrays.toString(num));
}
}
结果为
使用 Arrays.sort();对字母进行排序。
2.1使用 Arrays.sort();对字母顺序排序。
2.2使用 Arrays.sort();对字母数量进行排序。
package text;
import java.util.Arrays;
import java.util.Random;
public class Array2 {
public static void main(String[] args) {
//支付串排序
String[] ss = {"java", "c", "c#", "php", "android", "go"};
System.out.println("排序前:" + Arrays.toString(ss));
System.out.println("-------------------------------------");
Arrays.sort(ss);//按字母排升序
System.out.println("升序排列是" + Arrays.toString(ss));
Arrays.sort(ss, (a, b) -> b.compareTo(a));//排降序 其中a,b只是一个变量。可以写别的,如x,y等
System.out.println("降序排列是" + Arrays.toString(ss));
System.out.println("--------------------------------------");
Arrays.sort(ss, (a, b) -> a.length() - b.length());//排降序
System.out.println("按字母数量升序排列是" + Arrays.toString(ss));
Arrays.sort(ss, (a, b) -> b.length() - a.length());//排降序
System.out.println("按字母数量降序排列是" + Arrays.toString(ss));
//乱序
Random random1 = new Random();
for (int i = 0; i < ss.length; i++) {
int a = random1.nextInt(ss.length);
int b = random1.nextInt(ss.length);
if (a == b) {
--i;
} else {
String t = ss[a];
ss[a] = ss[b];
ss[b] = t;
}
}
System.out.println("乱序的输出结果" + Arrays.toString(ss));
}
}
结果为