我有一个包含以下键/值的 TreeMap:
private ArrayList<>> mList = new ArrayList<>>();
TreeMap item = new TreeMap();
item.put("FirstName", strFirstName);
item.put("LastName", strLastName);
item.put("Country", strCountry);
mList.add( item );
添加所有项目后,如何根据存储在“姓氏”键下的giá trị 对 TreeMap 进行排序?我想要一个与原始列表格式相同但应用了上述排序的 TreeMap:
“詹姆斯”、“阿米什人”、“美国”
“查尔斯”、“布伦特伍德”、“美国”
“ jack ”、“康奈尔”、“美国”
“艾米”、“邓恩”、“美国”
“梅琳达”、“埃利斯”、“加拿大”
我发现了一个与在“常规”Java 中按值对 TreeMap 进行排序有关的类似问题,但该代码对我不起作用 - 我不知道是因为 Android 的特性还是我无法使其适应适合我的需要:-/
Cảm ơn,
尼克
听起来您正在尝试对包含 TreeMap 的 ArrayList 进行排序,对吗?如果是这样,以下应满足您的需求:
Collections.sort(mList, new Comparator<>>(){
public int compare(TreeMap left, TreeMap right) {
return left.get("LastName").compareTo(right.get("LastName"));
}
});
应该注意的是,可能没有必要使用 TreeMap 来包含名称/值对列表 - 我只需要创建一个类来保存这些值。
Tôi là một lập trình viên xuất sắc, rất giỏi!