小编Sta*_*321的帖子

如何在 Java 6 中执行 Collectors.groupingBy 等效操作?

我有一个List<UserVO>
每个 UserVO 有一个 getCountry()

我想List<UserVO>根据其进行分组getCountry()

我可以通过流来完成,但我必须在 Java6 中完成

这是Java8中的。我想要 Java6 中的这个

Map<String, List<UserVO>> studentsByCountry
= resultList.stream().collect(Collectors.groupingBy(UserVO::getCountry));

for (Map.Entry<String, List<UserVO>> entry: studentsByCountry.entrySet())
    System.out.println("Student with country = " + entry.getKey() + " value are " + entry.getValue());
Run Code Online (Sandbox Code Playgroud)

我想要像这样的输出Map<String, List<UserVO>>

CountryA - UserA, UserB, UserC
CountryB - UserM, User
CountryC - UserX, UserY
Run Code Online (Sandbox Code Playgroud)

编辑:我可以进一步重新调整它,Map以便根据国家/地区的显示顺序进行显示吗?显示顺序为国家C=1、国家B=2 & 国家A=3

例如我想显示

CountryC - UserX, UserY
CountryB - UserM, User
CountryA - UserA, UserB, UserC
Run Code Online (Sandbox Code Playgroud)

java grouping java-6

4
推荐指数
1
解决办法
851
查看次数

标签 统计

grouping ×1

java ×1

java-6 ×1