Java实现过滤掉映射集合中键或值为空的值示例

  

本文实例讲述了Java实现过滤掉映射集合中键或值为空的值。分享给大家供大家参考,具体如下:

        进口java.util.Collection;   进口java.util.HashMap;   进口java.util.Iterator;   进口java.util.Map;   进口java.util.Set;/* *   *过滤掉映射集合中键或值为空的值   * @author lmb   * @date 2017-3-14   */公开课MapRemoveNullUtil {/* *   *移除地图中空键或者价值空值   * @param地图   */公共静态孔隙removeNullEntry(地图地图){   removeNullKey(地图);   removeNullValue(地图);   }/* *   *移除地图的空键   * @param地图   * @return   */公共静态孔隙removeNullKey(地图地图){   设置组=map.keySet ();   (迭代器迭代器=set.iterator ();iterator.hasNext ();) {   对象obj=(对象)iterator.next ();   remove (obj,迭代器);   }   }/* *   *移除地图中价值的空值   * @param地图   * @return   */公共静态孔隙removeNullValue(地图地图){   设置组=map.keySet ();   (迭代器迭代器=set.iterator ();iterator.hasNext ();) {   对象obj=(对象)iterator.next ();   对象价值=https://www.yisu.com/zixun/(对象)map.get (obj);   删除(值,迭代器);   }   }/* *   *移除地图中的空值   *   *迭代器是工作在一个独立的线程中,并且拥有一个互斥锁。   *迭代器被创建之后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变,   *所以当索引指针往后移动的时候就找不到要迭代的对象,所以按照快速失败原则迭代器会马上抛出java.util。ConcurrentModificationException异常。   *所以迭代器在工作的时候是不允许被迭代的对象被改变的。   *但你可以使用迭代器本身的方法删除()来删除对象,Iterator.remove()方法会在删除当前迭代对象的同时维护索引的一致性。   * @param obj   * @param迭代器   */私有静态空间删除(对象obj,迭代器迭代器){   如果(obj instanceof字符串){   字符串str=(String) obj;   如果(isEmpty (str)){//过滤掉为零和”的值主函数输出结果地图:{2=BB, 1=AA, 5=CC, 8=}//如果(“.equals (str.trim())){//过滤掉为null,“”和“”的值主函数输出结果地图:{2=BB, 1=AA, 5=CC}   iterator.remove ();   }   }else if (obj instanceof收集){   收集坳=(集合)obj;   如果(col==null | | col.isEmpty ()) {   iterator.remove ();   }   }else if (obj instanceof地图){   地图temp=(Map) obj;   如果(temp==null | | temp.isEmpty ()) {   iterator.remove ();   }   }else if (obj instanceof对象[]){   []数组对象=[])(对象obj;   如果数组==null | | array.length<=0) {   iterator.remove ();   }   其他}{   如果(obj==null) {   iterator.remove ();   }   }   }   公共静态布尔isEmpty(对象obj) {   返回obj==null | | obj.toString () . length ()==0;   }   公共静态void main (String [] args) {   地图地图=new HashMap ();   地图。把(1、“AA”);   地图。把(“2”,“BB”);   地图。把(“5”,“CC”);   map.put (" 6 ", null);   地图。把(“7”,“”);   地图。把(“8”、“”);   System.out.println(地图);//输出结果:{2=BB, 1=AA, 7=6=null, 5=CC, 8=}   removeNullEntry(地图);   System.out.println(地图);   }   }      之前      

运行结果:

  
  

{1=AA, 2=BB, 5=CC, 6=null, 7=,=8,}
  {1=AA, 2=BB, 5=CC, 8=,}

     

更多关于java算法相关内容感兴趣的读者可查看本站专题:《java数据结构与算法教程》、《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》

  

希望本文所述对大家java程序设计有所帮助。

Java实现过滤掉映射集合中键或值为空的值示例