【发布时间】:2020-08-14 08:32:48
【问题描述】:
我有一个Map<String,List<UserVO>> studentsByCountry = new TreeMap<String,List<UserVO>>();
显示如下:
key=CountryA , value = List<UserVO>
key=CountryB , value = List<UserVO>
key=CountryC , value = List<UserVO>
我可以重新洗牌这个Map 以便我根据国家/地区的 displayOrder 显示。显示顺序为 countryC=1, countryB=2 & countryA=3。我想显示像
key=CountryC , value = List<UserVO>
key=CountryB , value = List<UserVO>
key=CountryA , value = List<UserVO>
一种选择是将 sortOrderNumber 附加到键上。 For example 1_CountryC, 2_CountryB & 3_CountryA
我可以通过传统的 Java 来实现吗?
【问题讨论】:
-
TreeMap 应该如何知道哪个在前,哪个在后?键中没有任何内容表明 CountryC 应该是最低元素。
-
那么附加 1_、2_ 等是唯一的选择吗?
-
不,不是唯一的。但是您需要有一个规则来确定哪个是顺序,然后将其作为 Comparator 实现,您将传递给 TreeMap 的构造函数。