java list正序 逆序,List倒序排序问题

问题描述

项目中利用为数字的字符串转为Integer进行逆序排序,使用Collections.reverse(list);意外失败;不知道为什么总是不能倒序排列。无奈改成Collections.sort(list,Collections.reverseOrder());后成功。

e37783154956

项目截图

写了个demo测试

package com.jarWorker.demo;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import org.junit.Test;

public class TestListSort {

@Test

public void testSort() throws Exception {

List intList = new ArrayList<>();

String str0 = "10";

String str1 = "90";

String str2 = "76";

String str3 = "11";

String str4 = "5";

String str5 = "7";

String str6 = "8";

Integer number0 = Integer.parseInt(str0);

Integer number1 = Integer.parseInt(str1);

Integer number2 = Integer.parseInt(str2);

Integer number3 = Integer.parseInt(str3);

Integer number4 = Integer.parseInt(str4);

Integer number5 = Integer.parseInt(str5);

Integer number6 = Integer.parseInt(str6);

intList.add(number0);

intList.add(number1);

intList.add(number2);

intList.add(number3);

intList.add(number4);

intList.add(number5);

intList.add(number6);

System.out.println("原始排序:" + intList);

Collections.sort(intList);

System.out.println("正序排列:" + intList);

Collections.reverse(intList);

System.out.println("网上所谓的逆序排列:" + intList);

Collections.sort(intList, Collections.reverseOrder());

System.out.println("正确姿势的逆序排列:" + intList);

System.out.println("这结果还是很意外的哈!!!");

}

}

结果

原始排序:[10, 90, 76, 11, 5, 7, 8]

正序排列:[5, 7, 8, 10, 11, 76, 90]

网上所谓的逆序排列:[90, 76, 11, 10, 8, 7, 5]

正确姿势的逆序排列:[90, 76, 11, 10, 8, 7, 5]

这结果还是很意外的哈!!!

结论

还是使用Collections.sort(list, Collections.reverseOrder());稳妥些,毕竟Collections.reverse(list);出现了没有想到的结果bug,特此记录。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值