List集合根据某一元素排序

直接上代码:
运行:

 public static void main(String[] args) {
List<ResultVo> resultVos=new ArrayList<>();

List<String> a=new ArrayList<>();
a.add("范增");
a.add("方唐镜");
a.add("范淑女");
a.add("方文山");
a.add("方崇大");

List<String> b=new ArrayList<>();
b.add("白少也");
b.add("白福关");


resultVos.add(new ResultVo("F",a));
resultVos.add(new ResultVo("B",b));

//用lombda表达式重写compare方法------------------这个才是重点
Comparator comparator = Collator.getInstance(Locale.CHINA);
Collections.sort(resultVos, new Comparator<ResultVo>() {
  @Override
  public int compare(ResultVo o1, ResultVo o2) {
    return comparator.compare(o1.getPinYin(), o2.getPinYin());
  }
});

JSONObject pinYinJson=new JSONObject();
pinYinJson.put("data",resultVos);
System.out.println(pinYinJson.toString());
  }

结果:
在这里插入图片描述

实体类:

封装类:

import java.util.List;

public class ResultVo {
    private String pinYin;
    private List<String> judgeNames;


    public ResultVo() {
    }

    public String getPinYin() {
        return pinYin;
    }

    public void setPinYin(String pinYin) {
        this.pinYin = pinYin;
    }

    public List<String> getJudgeNames() {
        return judgeNames;
    }

    public void setJudgeNames(List<String> judgeNames) {
        this.judgeNames = judgeNames;
    }

    public ResultVo(String pinYin, List<String> judgeNames) {
        this.pinYin = pinYin;
        this.judgeNames = judgeNames;
    }

    @Override
    public String toString() {
        return "ResultVo{" +
                "pinYin='" + pinYin + '\'' +
                ", judgeNames=" + judgeNames +
                '}';
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值