Я создал Hashmap, в котором символ акции хранится в качестве ключа, а ETF, связанные с символом акции, в качестве значений. единственное, что я сейчас пытаюсь выяснить, это как распечатать то, что было сохранено в HashMap. Я пробовал разные способы, которые либо дают мне тарабарщину, либо исключение NullPointException. Ниже приведен мой код и различные способы печати HashMap:
public static void main(String[] args){
Map<TickerSymbol, List<ETF>> exampleMap = new HashMap<>();
// create list one and store values
List<ETF> setOne = new ArrayList<>();
setOne.add(new ETF("Number 1", .2, .3, .4, .5, .6));
setOne.add(new ETF("Number 2", .241, .312, .4312, .5423, .642));
setOne.add(new ETF("Number 3", .21, .31, .41, .51, .61));
// create list two and store values
List<ETF> setTwo = new ArrayList<>();
setTwo.add(new ETF("Number 4", .3, .4, .5, .6, .8));
setTwo.add(new ETF("Number 5", .3524, .442, .542, .665, .80));
setTwo.add(new ETF("Number 6", .23, .32, .43, .76, .89));
// create list three and store values
List<ETF> setThree = new ArrayList<>();
setThree.add(new ETF("Number 7", .37, .47, .57, .68, .89));
setThree.add(new ETF("Number 8", .38, .48, .58, .68, .89));
setThree.add(new ETF("Number 9", .39, .49, .59, .68, .89));
// put values into map
exampleMap.put(new TickerSymbol("stockA"), setOne);
exampleMap.put(new TickerSymbol("stockB"), setTwo);
exampleMap.put(new TickerSymbol("stockC"), setThree);
//gibberish prints out with this one
for (Map.Entry<TickerSymbol, List<ETF>> entry : exampleMap.entrySet()) {
TickerSymbol key = entry.getKey();
List<ETF> values = entry.getValue();
System.out.println("Key = " + key);
System.out.println("Values = " + values + "n");
}
//gibberish prints out with this one
for (Map.Entry<TickerSymbol, List<ETF>> entry : exampleMap.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue().toString());
}
//gibberish prints out with this one
exampleMap.forEach((key, value) -> System.out.println(key + ":" + value));
System.out.println(exampleMap.keySet().toString());
//I get a null pointer exception with this one
Iterator iterator = exampleMap.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next().toString();
String value = exampleMap.get(key).toString();
System.out.println(key + " " + value);
}
}
Действительно надеюсь, что кто-то может помочь мне здесь ... У меня нет идей.