我有一个(Map<路名,对应的实体类>)还有一个(List<Map<企业标识,住所>>)我想根据map里面的路名
和list里面的住所进行比较得到符合条件的List<Map<企业标识,住所>>
比如map中有个路名:舟山路
我希望得到list里面的住所包含舟山路的数据 比如:住所舟山路328号
舟山路220室
舟山路224号
世纪大道舟山路217号 只要住所里面包含舟山路就行了
和list里面的住所进行比较得到符合条件的List<Map<企业标识,住所>>
比如map中有个路名:舟山路
我希望得到list里面的住所包含舟山路的数据 比如:住所舟山路328号
舟山路220室
舟山路224号
世纪大道舟山路217号 只要住所里面包含舟山路就行了
和list里面的住所进行比较得到符合条件的List <Map <企业标识,住所> >
比如map中有个路名:舟山路
我希望得到list里面的住所包含舟山路的数据 比如:住所舟山路328号 舟山路220室 舟山路224号 世纪大道舟山路217号 只要住所里面包含舟山路就行了
请仔细分析代码,debug理解。我也是花挺长时间写的。所以一定要有耐心、要细心。
package com.snow.test;import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;public class CompareAddress {
public static void main(String[] args) {
Map<String, String> m1 = new HashMap<String, String>();
m1.put("舟山路", "舟山路1");
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> m2 = new HashMap<String, String>();
m2.put("百度", "舟山路328号");
m2.put("CSDN", "舟山路220室");
m2.put("谷歌", "舟山路224号");
m2.put("腾讯", "世纪大道舟山路217号");
m2.put("IBM", "西安");
list.add(m2);
Collection<String> c = m1.keySet();
String keyWord = null;
for (Iterator<String> iterator = c.iterator(); iterator.hasNext();) {
//System.out.println(iterator.next());
keyWord = iterator.next();
}
for(Map<String,String> temp : list){
Set<Map.Entry<String,String>> set = temp.entrySet();
for (Iterator<Map.Entry<String, String>> iterator = set.iterator(); iterator.hasNext();) {
Map.Entry<String, String> entry = (Map.Entry<String, String>) iterator.next();
if(entry.getValue().contains(keyWord)) {
System.out.println(entry.getValue());
}
// System.out.println(entry.getValue());
}
}
}
}