2011-06-24 6 views
0

私はこのコードのエラーの下に持っています、のJavaのentrySetエラー

型の不一致:Set<Map.Entry<Date,List<Transaction>>> to Set<Date>

コードから変換することはできません。

final Map<Date, List<Transaction>> transactionsMap= new HashMap<Date, List<Transaction>>(); 

Set<Date> set = transactionsMap.entrySet(); //Error line 

このエラーは何ですか?これを解決するには?

答えて

3

キー値のセットを取得するには、keySet()を使用する必要があります。 entrySet()entriesのセットを返します(つまり、キーの値を組み合わせたもの)。しかし、あなたがentrySet()メソッドを使用する場合は

Map<Date, List<Transaction>> transactionsMap= new HashMap<Date, List<Transaction>>(); 
Set<Date> set = transactionsMap.keySet(); 

、あなたはあなたの変数に適切な型を使用する必要があります:返信用

Set<Map.Entry<Date, List<Transaction>> entries = transactionMap.entrySet(); 
+0

感謝を。しかし、私はパフォーマンスの問題のためにkeySetの代わりにentrySetを使用する必要があります。 – Srinivasan

+0

@Srinivasan:答えを更新しました。 –