java使用Arrays sort()排序

文章展示了如何在Java中使用Arrays.sort()方法对Integer数组进行升序和降序排序,以及对字符串数组按字母顺序和字符串长度进行排序。此外,还提到了Integer和int的区别,并给出了随机打乱数组顺序的方法。
摘要由CSDN通过智能技术生成

使用使用 Arrays.sort();对数字和字符串进行排序。

  1. 使用 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));

}

}

结果为

  1. 使用 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));

}

}

结果为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值