あなたが最初のレベルMap
を反復する必要があり、次いで第2の上にあなただけの種類を変更する必要があり、すべてのList.size
まずWAY
Map<String, Map <String, List<Double>>> Data = new HashMap<String, Map <String, List<Double>>>();
int somme = 0;
for(String key1 : Data.keySet()){
somme = 0;
for(List<Double> value2 : Data.get(key1).values()){
somme += value2.size();
}
System.out.println("For "+key1+", there is "+somme+" bottles");
}
それを使用することを計算します(酒との二重の文字列、...)の要素
第二の方法
ここで
Data.keySet().stream().forEach(key1 -> {
System.out.println("For " + key1 + ", there is "
+ Data.get(key1).values().stream().mapToInt(list -> list.size()).sum() + " bottles");
});
あなたは彼らが使用されていない、種類についての世話をする必要はありません、それは3行で同じことを ストリームは...
反復処理し、フィルタ、合計は、カウントするように代替されています
:(data.entrySet()のMap.Entry <文字列、HashMapの<文字列、リスト<ダブル>>> liquorCategoryEntry)について
問題が発生したかどうか尋ねます。私たちはあなた自身で試みをしないと、あなたのためのコードを書いていません。 –
質問を取り下げるには同意しますか? –
map.get(LiquorCategory).size()? –