Всем привет, помогите разобратся с проблемой в строках 28-32.
Тестирую с {Иванов=0.7, Петров=1.351, Сидоров=1.351}.
Петрова добавляет в список, а вот Сидорова нет.
В дебагере вижу что для Сидорова срабатывает блок иф(строка 29) так же как и для Петрова, но почему то дальше в него не заходит.
package com.javarush.task.task19.task1920;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;
/*
Самый богатый
*/
public class Solution {
public static void main(String[] args) {
TreeMap<String, Double> list = new TreeMap<>();
TreeSet<String> persons = new TreeSet<>();
try(BufferedReader input = new BufferedReader(new FileReader(args[0]))){
while (input.ready()){
String[] parts = input.readLine().split(" ");
if(list.containsKey(parts[0])){
list.put(parts[0], Double.parseDouble(parts[1])+ list.get(parts[0]));
} else list.put(parts[0], Double.parseDouble(parts[1]));
}
}catch (IOException e){ }
Double maxSalary = list.values().stream().max(Comparator.comparingDouble(o -> o)).get();
for(Map.Entry<String, Double> e : list.entrySet()){
if(e.getValue()==maxSalary){
persons.add(e.getKey());
}
}
persons.stream().forEach(System.out::println);
}
}
или == на equals()