2017-01-02 9 views
0

Map.Butを使用していくつかの値を出力しようとしていますが、次のエラーが発生しています。Map <>のメソッド 'entrySet()'を解決できません

は、メソッドを解決できません 'のentrySet()'

List<Map<Integer, List<EffectList>>> contactList; 
     contactList = (List<Map<Integer, List<EffectList>>>) new HashMap<Integer,List<EffectList>>(); 

     for (Map.Entry<Integer,List<EffectList>> entry : contactList.entrySet()) 
     { 
      //code here 
     } 

は、私はここで間違って何をしているのですか?

+5

'contactList'は' List'であり、 'Map'ではありません。 'ClassCastException'を取得せず、' HashMap'を 'List'型の変数にキャストしようとすると、私は非常に驚いています。 – Andreas

+2

'HashMap'を' List'にキャストしているのはなぜですか? – Eran

+0

@アンドレアスそれはコンパイルをパスしなかったので、それほど遠くには達しませんでした。 – Eran

答えて

0
List<Map<Integer, List<EffectList>>> contactList; 
contactList = (List<Map<Integer, List<EffectList>>>) new HashMap<Integer,List<EffectList>>(); 

だから、ListMapをキャストし、ListentrySet()メソッドを持っていません。 でこれらの行を置き換えMap

ListMapをキャストする理由はありません。

Map<Integer, List<EffectList>> contactList; 
contactList = new HashMap<Integer,List<EffectList>>(); 
1
List<Map<Integer, List<EffectList>>> contactList; 
contactList = (List<Map<Integer, List<EffectList>>>) new HashMap<Integer,List<EffectList>>(); 

リストはハッシュで初期化することができないためと初期化に間違ってやっているが、マップ。

関連する問題