Я написал следующий метод, чтобы найти сопоставление ключей с наивысшими значениями и попытаться преобразовать в поток java. Не могли бы вы помочь?Использование Java8 Stream для поиска наивысших значений по карте
private List<Integer> testStreamMap(Map<Integer, Long> mapGroup) {
List<Integer> listMax = new ArrayList<Integer>();
Long frequency = 0L;
for (Integer key : mapGroup.keySet()) {
Long occurrence = mapGroup.get(key);
if (occurrence > frequency) {
listMax.clear();
listMax.add(key);
frequency = occurrence;
} else if (occurrence == frequency) {
listMax.add(key);
}
}
return listMax;
}
Ваш вопрос непонятен, тот же параметр, который вы назвали 'occurance' (который является орфографическим btw), вызывается во второй реализации' tempValue'. И параметр, который вы назвали 'frequencyence '(который также ошибочно написан) в первой реализации, называется« появление »во втором. Начните с соответствия вашим именам, и это может помочь вам решить вашу путаницу. – alfasin
«Ключ с наивысшим появлением»?, Я думаю, вы пытаетесь выяснить «значение» с наивысшим значением, когда вы вызываете «mapGroup.get (key)». Верный? –
@ShyamBaitmangalkar да, попробуйте найти список ключей с наивысшим результатом – Dumy