全部版块 我的主页
论坛 数据科学与人工智能 大数据分析 数据仓库技术
1389 0
2022-09-15
2021必修 首门CSS架构系统精讲 理论+实战玩转蘑菇街

Java中运用比拟器处理依照特定的字符串次第排序List

引言今天工作需求中,有一个小需求,要依照某一个特定的次第排列一个List。
举例:
原始的List 中存在3个String 元素
  • 原始List : python,Java,C++
如今需求依照另一个次第排序
  • 请求List:C++ ,python,Java。
网上大局部的排序都是依据某一个值,比方int,long 等等停止比大小,很少能找到依照特定字符串的材料。传统的代码运用for循环等等也能处理这个问题,但是希望运用比拟器的方式处理这个问题,今天就浅浅地研讨一下。
原理经过研讨,最好的方式还是着眼于字符串的坐标值来处理这个问题,经过坐标值的比拟来完成这个问题。
理论样例1 准备实体类
/** * @author fangzhou * @date 2022/7/27 11:24 上午 */public class Right {    private String rightId;    public String getRightId() {        return rightId;    }    public void setRightId(String rightId) {        this.rightId = rightId;    }}复制代码2 处理计划
public static void main(String[] args) {        // rightListMe 原始请求的类        List<Right> rightListMe = new ArrayList<>();        Right right = new Right();        right.setRightId("rightId111");        Right right1 = new Right();        right1.setRightId("rightId222");        Right right2 = new Right();        right2.setRightId("rightId333");        rightListMe.add(right);        rightListMe.add(right1);        rightListMe.add(right2);               // rightListHe 特定次第的类        List rightListHe = new ArrayList<>();        rightListHe.add("rightId333");        rightListHe.add("rightId111");        rightListHe.add("rightId222");        // 中心比拟器,经过该indexOf 找到下标        Collections.sort(rightListMe, new Comparator() {            @Override            public int compare(Right o1, Right o2) {                int index1 = rightListHe.indexOf(o1.getRightId());                int index2 = rightListHe.indexOf(o2.getRightId());                return (index1 == -1 || index2 == -1) ? (index2 - index1) : (index1 - index2);            }        });        for (Right s : rightListMe) {            System.out.println(s.getRightId());        }复制代码3 输出结果
rightId333rightId111rightId222复制代码能够看到代码原来是 rightId111,rightId222,rightId333的次第,曾经排序如上图所示了。
结尾依照上述的计划就能够处理List 依照特定的字符串次第排序list的问题,希望能够给大家一些启示,而且特别适用于针对依照某些特殊次第去排列对应的数据,比方产品相关的一些适用场景,要引荐什么的。

2021必修 首门CSS架构系统精讲 理论+实战玩转蘑菇街


download链接:https://pan.baidu.com/s/1nDlxI0GjVvLkrxoDeqdpvA?pwd=1btl
提取码:1btl
--来自百度网盘超级会员V5的分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群