一、背景 寻找姓名和年龄相同的人,然后搞一些事情。。。。
1、普通思维——两层for循环嵌套
for (List l1 : list1) {
for (List l2 : list2) {
if (l1.getName().equals(l2.getName())
&& l1.getAge().equals(a.getAge())) {
//TODO
}
}
}
2、用Map来削减for循环
Map<String,List> map = new HashMap<>();
for (List l1 : list1) {
String key = l1.getname() + "-" + l1.getAge();
map.put(key,l1);
}
for (List l2 : list2) {
String key = l2.getName() + "-" + l2.getAgw();
List l = map.get(key);
if(null != l){
//TODO
}
}
单层for循环更容易排查问题,因此我们推荐第二种方式