2011-12-19 11 views
0

このタイプはArrayList<HashMap<String,String>>です。私はその配列リストにキーが存在するかどうかをチェックしたい。私はforループを通してこれを行うことができますが、これを行うための代替手段がありますか?HashMap <String、String>のJava ArrayListにキーが含まれていることを確認してください。

+2

ループが最も簡単です更新。代替案を探している特別な理由はありますか? – NPE

+0

どこからリストを取得しますか?これらのHashMapsには何がありますか(つまり、特別な文字列または基本的にランダムな文字列から文字列へのマッピング) – Stefan

答えて

-3

私の心と仕事に最も簡単なやり方は、HashMapクラスを拡張して.equals()メソッドを実装することです。いずれにしても、このメソッドは内部的にインターレーションを使用します。

0

これらの個々のHashMapsを構築する際に、スーパーハッシュマップを構築することができれば、forループは必要ありません。しかし、それが可能かどうかは分かりません。そのスーパーハッシュマップをルックアップするだけです。

+0

バグの可能性があります。特に、いくつかの要素を削除した場合に発生します。通常、データの複製は良い考えではありません。 – toto2

1

@ Bhushanの答えに沿って、マップのArrayListとキー値のマップをカプセル化する新しいクラスを作成します。例えば。

public class EncapsulatedLookup { 
    private ArrayList<HashMap<String,String>> data; 
    private Map<String, Integer> keyToArrayListPosition lookup; 
} 

dataから削除/追加するたびに確認するためにメソッドを追加し、あなたもlookup

関連する問題