我试图弄清楚如何返回 HashMap 中最大的集合。我知道基本的做法,但我无法做到正确。
我尝试通过执行以下代码来迭代 HashMap 中的所有键。我还刚刚意识到,通过执行这段代码,我只能返回最大集合的大小,而不是实际集合本身。有更好的方法吗?我将非常感谢任何帮助!谢谢!
Map<String, Set<String>> category = new Hashmap<String, Set<String>>();
int largest = //someInt;
for(String d : category.keySet()) {
if (category.get(d).size() > //largest)
largest = category.get(d).size();
} return largest;
最佳答案
虽然其他答案已经展示了如何修复代码,但这里是在单个语句中完成此操作的另一种方法:
Set<String> largestSet = category.values().stream()
.max(Comparator.comparingLong(Set::size))
.orElse(null);
关于java - 如何迭代 HashMap<String, Set<String>> 并返回最大的 Set<String> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54585080/