java 排列顺序_java集合指定元素排序:最前,按照提供的顺序排序?求算法

本文介绍了如何在Java中根据指定的关键字顺序对字符串列表进行排序。通过创建OrderParam类来存储关键字及其优先级,利用OrderParams工具类生成带有顺序的参数列表。在排序过程中,将目标字符串转换为OrderParam对象,然后根据order属性进行排序,从而实现包含关键字的字符串优先显示并按关键字顺序排列。
摘要由CSDN通过智能技术生成

哈哈哈,不好意思,问了题主那么久...根据我获得需求描述,最后我还是觉得引用新的编程元素来使业务稍微变简单的,我整理到需求应该是:

首先给定一个指定关键字的排序,给出一个字符串列表,对列表进行排序,若字符串列表中包含了关键字,则该这种字符串优先级高,排前面,并且还要根据该字符串所包含的关键字顺序排序,其他没有包含关键字的字符串则靠后,顺序不用关心

所以我引用了新的编程元素,因为给出的orderings是有顺序的,所以只有一个字符串是不能体现这个顺序的,我新增加了一个元素OrderParam

@Getter

@Builder

public class OrderParam{

private String param;

// 值越小,优先级越高

private int order;

}

所以之前的

List orderings= Stream.of("温度", "运行时间").collect(Collectors.toList());

就变为

List orderings= OrderParams.createOrderings("温度", "运行时间");

这里写了一个工具类OrderParams

public class OrderParams{

/**

* 根据字符串数组生成OrderParam集合

* @param params

* @return

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值