2016-10-09 20 views
0

私がループしているオブジェクトのListList 1)があります。各オブジェクトにはidという文字列が関連付けられています。私は別の種類のオブジェクトを含む別のリスト(List 2)を持っています。 List 2のオブジェクトをList 1オブジェクトにマップしたいと思います。 List 1getId()の関数を持ち、List 2はのオブジェクトにマップするはずのList 1を与えるgetList1Id()の関数を持ちます。可能な限り最も効率的な方法でこれをどうやって行うのですか?2つのオブジェクトリストをIDで効率的にマッピングする方法

+0

Listの代わりにjava.util.Mapを使用します。 –

+0

'List 2'から' Map 'をビルドします。 –

答えて

0

私は両方のリストを繰り返してidをキーとして使用し、オブジェクトを値としてマップを作成します。例えば。最初のリストのために:

Map<Integer, Object> map1 = new HashMap<>(); 
for (Object o : list1) { 
    map1.put(o.getId(), o); 
} 

は、第二のリストについては、同じことを行います

Map<Integer, Object> map2 = new HashMap<>(); 
for (Object o : list2) { 
    map2.put(o.getId(), o); 
} 

は今、あなたは指定したIDの取得を呼び出すことによって、他の中のオブジェクトに1つのリスト内のオブジェクトを関連付けることができます。

関連する問題