我有一个(Map<路名,对应的实体类>)还有一个(List<Map<企业标识,住所>>)我想根据map里面的路名
和list里面的住所进行比较得到符合条件的List<Map<企业标识,住所>>
    比如map中有个路名:舟山路
    我希望得到list里面的住所包含舟山路的数据  比如:住所舟山路328号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
                                                      舟山路220室                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
                                                      舟山路224号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
                                                     世纪大道舟山路217号      只要住所里面包含舟山路就行了                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

解决方案 »

  1.   

     我有一个(Map <路名,对应的实体类> )还有一个(List <Map <企业标识,住所> > )我想根据map里面的路名 
    和list里面的住所进行比较得到符合条件的List <Map <企业标识,住所> > 
            比如map中有个路名:舟山路 
            我希望得到list里面的住所包含舟山路的数据     比如:住所舟山路328号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    舟山路220室                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                舟山路224号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                世纪大道舟山路217号             只要住所里面包含舟山路就行了
      

  2.   

    不难啊map里面或者舟山路 然后循环每个List list.get(i)是一个Map 然后获取他的value 是否包含前面的舟山路  不久OK?
      

  3.   

    代码如下:
    请仔细分析代码,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());
    }
    }

    }
    }