sort reverse java_Java 数字sort reverse

int[] intArray = {4, 1, 3, -23};

Arrays.sort(intArray);

// [-23, 1, 3, 4]

//4 1 3 -23

String[] strArray = new String[] {"z", "a", "C"};

Arrays.sort(strArray);

// [C, a, z]

// Case-insensitive sort

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);

// [a, C, z]

// Reverse-order sort

Arrays.sort(strArray, Collections.reverseOrder());

// [z, a, C] // 从大到小

// Case-insensitive reverse-order sort

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);

Collections.reverse(Arrays.asList(strArray));

// [z, C, a] // 对前面的排序进行逆转

//红色的reverse放在不同的位子,他们的意义是不同的

如果已经理解了Arrays.sort()对数组进行排序的话,集合框架的使用也是大同小异。只是将Arrays替换成了Collections,注意Collections是一个类而Collection是一个接口.

假如有这样一个链表:

LinkedList list=new LinkedList();

list.add(4);

list.add(34);

list.add(22);

list.add(2);

我们只需要使用:

Collections.sort(list);

就可以将ll里的元素按从小到大的顺序进行排序,结果就成了:

[2, 4, 22, 34]

如果LinkedList里面的元素是String,同样会想基本数据类型一样从小到大排序。

如果要实现反序排序也就是从大到小排序:

Collections.sort(list,Collectons.reverseOrder());

错误:

import java.util.Arrays;

import java.util.List;

public class TestAsList {

public static void main(String[] args) {

String[] str = new String[]{"1","2","3"};

List list = Arrays.asList(str);

list.add("4");

}

}

分析原因:

list 的值是数据传化而来,因此list的长度是固定的。程序运行到 list.add("4")时,程序出错了。

解决办法如下:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class TestAsList {

public static void main(String[] args) {

String[] str = new String[]{"1","2","3"};

List list = new ArrayList(Arrays.asList(str));

list.add("4");

System.out.println(list.size());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值