我有一个Map和一个List My列表,一个值对象的主列表和Map包含的值是值对象的id我有一个值对象
public class Value
{
private int id;
private String value;
//set and gets to follow
}
Map valueMap = new HashMap();
valueMap.put(1001,"Test1")//key is id of the value object
valueMap.put(1002,"Test2")
valueMap.put(1003,"Test3")
List list = new Array list();
list.add(value1)
list.add(value2)
list.add(value3)
list.add(value4)
list.add(value5)
Run Code Online (Sandbox Code Playgroud)
从列表中我想提取列表的子集,其value.id是地图的==键
我该怎么做并迭代两者?
你应该用
Map<Integer, String> valueMap = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
和
List<Value> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
然后,你可以做这样的事情:
List<Value> subset = new ArrayList<>();
Iterator<Value> iterator = list.iterator();
while (iterator.hasNext()) {
Value val = iterator.next();
if (valueMap.containsKey(val.getId())) {
subset.add(val);
}
}
Run Code Online (Sandbox Code Playgroud)
甚至
List<Value> subset = new ArrayList<>();
for (Value val : list) {
if (valueMap.containsKey(val.getId())) {
subset.add(val);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7862 次 |
| 最近记录: |