прописываю o2 - o1 выводит убывание (6.0,5.1,1.35), прописываю o1 - o2 выводит (1.35,6.0,5.1)
package com.javarush.task.task19.task1919;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
/*
Считаем зарплаты
*/
public class Solution {
public static void main(String[] args) throws IOException {
FileReader filereader = new FileReader(args[0]);
BufferedReader reader = new BufferedReader(filereader);
reader.close();
HashMap<String, Float> map = new HashMap<String, Float>();
String line;
while((line = reader.readLine()) != null) {
String[] splited = line.split(" ");
if (map.containsKey(splited[0])) {
try {
map.put(splited[0], (Float)map.get(splited[0]) + Float.parseFloat(splited[1]));
} catch (NumberFormatException var9) {
}
} else {
try {
map.put(splited[0], Float.parseFloat(splited[1]));
} catch (NumberFormatException var8) {
}
}
}
List<Map.Entry<String, Float>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Float>>() {
@Override
public int compare(Map.Entry<String, Float> o1, Map.Entry<String, Float> o2) {
return (int) (o1.getValue()-o2.getValue());
}
});
// Используем итератор для обхода элементов в списке
Iterator<Map.Entry<String, Float>> iter = list.iterator();
while(iter.hasNext()){
Map.Entry<String, Float> item = iter.next();
String key = item.getKey();
float value = item.getValue();
System.out.println(key+" "+value);
}
}
}