Нужно помощь опытных камрадов. Не понимаю почему сортировка не работает в строках с 39 по 45ю. При инвертировании условия сравнения(o1.getValue() < o2.getValue()) порядок сортировки не меняется...
package com.javarush.task.task19.task1920;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Самый богатый
*/
public class Solution {
public static void main(String[] args) throws FileNotFoundException, IOException {
TreeMap <String,Float> map = new TreeMap<>();
Pattern p = Pattern.compile("([а-яА-Яa-zA-Z]+)([\\ ]*)([+-]?[0-9]*[.,]?[0-9]+)");
Matcher m;
String line;
String name;
Float acc;
try(BufferedReader file = new BufferedReader(new FileReader(args[0])))
{
while (file.ready()) {
line = file.readLine();
m = p.matcher(line);
m.find();
if (map.containsKey(m.group(1))) {
acc = map.get(m.group(1));
acc += Float.parseFloat(m.group(3));
map.replace(m.group(1), acc);
}
else
map.put(m.group(1), Float.parseFloat(m.group(3)));
}
}
ArrayList<Map.Entry<String, Float>> arrayList = new ArrayList<>(map.entrySet());
arrayList.sort((o1, o2) -> {
if (o1.getValue() > o2.getValue())
return 1;
else
return 0;
});
System.out.println(arrayList.get(0).getKey());
}
}