Помогите найти причину, почему не выводятся все варианты максимального значения
package com.javarush.task.task19.task1920;
import java.io.*;
import java.util.*;
/*
Самый богатый
*/
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
// args[0]
Map<String, Double> map = new TreeMap<>();
BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
while (bufferedReader.ready()){
String [] strochka = bufferedReader.readLine().split(" ");
Double dab = Double.parseDouble(strochka[1]);
if (map.containsKey(strochka[0])){
Double doub = map.get(strochka[0]) + dab;
map.put(strochka[0], doub);
} else map.put(strochka[0], dab);
}
bufferedReader.close();
List <String> list = new ArrayList<>();
Collections.sort(list);
Double max = Collections.max(map.values());
for (Map.Entry entry: map.entrySet()){
if (entry.getValue() == max){
list.add((String) entry.getKey());
}
}
for (String o:list){
System.out.println(o);
}
}
}
хучерта System.out.println(0.2 + 0.1); выводит 0.30000000000000004 проблема реальных чисел