java 字符串集合 按照指定顺序排序

该代码示例展示了如何在Java中使用TreeMap和List结合,通过StreamAPI按指定顺序对元素进行排序。列表`orders`定义了排序顺序,`source`列表中的元素被插入到TreeMap中,根据它们在`orders`中的索引来定位位置,未找到的元素则添加到末尾。

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Test0712 {

    public static void main(String[] args) {
        List<String> orders = Arrays.asList("东部", "南部", "西部", "北部", "中部");

        List<String> source = Stream.of("北部", "南部", "东部", "中部").collect(Collectors.toList());

        Map<Integer, String> tree = new TreeMap<Integer, String>();
           for (String code : source) {
                if (orders.contains(code)) {
                    tree.put(orders.indexOf(code), code);
                } else {
                    tree.put(source.size(), code);
                }
            }
        System.out.println(" 排序后:"+tree.values());

    }

}

输出结果:   排序后:[东部, 南部, 北部, 中部]

按照指定顺序排序,方法有多种,本文方法是 代码比较简短的一种

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值