我有这张地图,其中包含姓名,姓氏和其他个人信息,例如:
jhon:[doe];
ann:[devil]
我想要按字母顺序对它们进行排序,但是这种结构对我来说是新的。如何按字母顺序排序?这是我的代码
private String uid;
private String username;
private String fullName;
private String name;
private String lastname;
private String email;
private String phone;
private Map<String, List<PorticoProfile>> profiles;
public Map<String, List<PorticoProfile>> getProfiles() {
if (profiles == null) {
profiles = new LinkedHashMap<>();
}
return profiles;
}
public void setProfiles(Map<String, List<PorticoProfile>> profiles) {
this.profiles = profiles;
}
public void setFullName(String fullName) {
this.fullName = fullName;
if (fullName.contains(" ")){
String[] nameParts = fullName.split(" ");
this.name = nameParts[0];
this.lastname = nameParts[1];
}
}
@Override
public String toString(){
final String BREAK = System.getProperty("line.separator");
StringBuilder sb = new StringBuilder();
sb.append("uid: ").append(this.uid).append(BREAK);
sb.append("username: ").append(this.username).append(BREAK);
sb.append("fullname: ").append(this.fullName).append(BREAK);
sb.append("email: ").append(this.email).append(BREAK);
sb.append("phone: ").append(this.phone).append(BREAK);
if (this.getProfiles().size() > 0){
sb.append("profiles: ").append(this.profiles.keySet().stream().collect(Collectors.joining(", "))).append(BREAK);
}
return sb.toString();
}
使用TreeMap
- https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html
LinkedHashMap
会保留您向地图添加数据的顺序,并TreeMap
会根据密钥(在您的情况下,String
即名称)对数据进行排序
Map<String, List<PorticoProfile>> profiles = new TreeMap<>();;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句