java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序
java中List集合的元素是按照添加順序排序的,我們在實(shí)際開發(fā)過程中,可能會(huì)遇到需要對其內(nèi)容進(jìn)行排序的場景,接下來對我遇到的場景所采用的解決方式做個(gè)總結(jié)。
一、業(yè)務(wù)場景
管理后臺商戶名稱下拉列表,需平臺商戶名稱按照首字母A-Z順序進(jìn)行排序展示。
二、解決思路
由于頁面展示的數(shù)據(jù)為后臺查詢所得的List集合中的元素,所以在后臺查到數(shù)據(jù)后,對集合進(jìn)行排序,頁面展示也就是排序后的數(shù)據(jù)。
三、實(shí)現(xiàn)
首先需要排序的對象需要實(shí)現(xiàn)Comparable接口并且并復(fù)寫compareto方法:
public class Merch implements Comparable{
private String id;
private String merchId;
private String merchName;
public Merch(String id, String merchId, merchName){
this.merchId =?merchId;
this.merchName =?merchName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public String getMerchId() {
return merchId;
}
public void setMerchId(String merchId) {
this.merchId = merchId == null ? null : merchId.trim();
}
public String getMerchName() {
return merchName;
}
public void setMerchName(String merchName) {
this.merchName = merchName == null ? null : merchName.trim();
}
@Override
public int compareTo(Merch merchName) {
return this.merchName.compareTo(merchName.getMerchName());
}
}
在controller中,獲取到merchList后做如下處理:
偽代碼:
//獲取商戶list集合
List merchList = xxxxService.queryMerchList();
//Collections工具類的sort()方法對list集合元素排序
Collections.sort(merchList,new Comparator() {
@Override
public int compare(Merch info1, Merch info2) {
//獲取中文環(huán)境
Comparator com = Collator.getInstance(java.util.Locale.CHINA);
return com.compare(info1.getMerchName(), info2.getMerchName());
}
});
這樣,controller將改列表放入view中,返回給前端,如果顯示對象的名稱,則顯示的是按照漢語拼音排序后的商戶名稱。
總結(jié)
以上是生活随笔為你收集整理的java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java第三章_Java 第三章
- 下一篇: java bag集合_集合基于数组的实现