直接上代码:
运行:
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 +
'}';
}
}