Как работает эта строка подскажите, пожалуйста.
hm.put(strings[0], (hm.containsKey(strings[0]) ? hm.get(strings[0]) + Double.parseDouble(strings[1]) : Double.parseDouble(strings[1])));
Почему всегда элемент "0" - string[0]
hm.put(strings[0] , - добавили ключ стринг 0 это Фамилия "Петров" допустим
, (hm.containsKey(strings[0] ? hm.get(strings[0])+Double.parseDouble(strings[1]):Double.ParseDouble[strings[1])));
hm.containsKey(strings[0] - это есть ли такое значение в ключе true или false
тернарный оператор
hm.get(strings[0]) + Double.parseDouble(strings[1])
1)Что делает hm.get(strings[0])? - Главный вопрос как вот это работает
2)Парсим в дабл, второй элемент. А, как тут работает 3 и 4 элементы что с ними тогда случается 5 и 6 ну, вдруг там больше именpackage com.javarush.task.task19.task1919;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class Solution {
public static void main(String[] args) throws IOException {
TreeMap<String, Double> hm = new TreeMap<>();
BufferedReader br = new BufferedReader(new FileReader(args[0]));
while (br.ready()) {
String [] strings = br.readLine().split(" ");
hm.put(strings[0], (hm.containsKey(strings[0]) ? hm.get(strings[0]) + Double.parseDouble(strings[1]) : Double.parseDouble(strings[1])));
}
Iterator<Map.Entry<String, Double>> iterator = hm.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Double> pair = iterator.next();
String key = pair.getKey();
Double value = pair.getValue();
System.out.println(key + " " + value);
}
}
}