zoukankan      html  css  js  c++  java
  • Set集合按条件删除元素

    1. 循环对比,对Set进行遍历对比.相同则删除.

      注: 1.不能在for循环中删除,这样会引起Set的size();变化,进而程序报错.

         2.不能在foreach中使用set.remove(Object obj);方法

        正确的是使用迭代器,利用其迭代器对象的remove()方法,但必须保证在使用remove()之前调用迭代器的next()方法;

        部分代码示例如下:(要删除tempXaxis集合中与statDate相同的元素,其中tempXaxis的类型为HashSet)

    ...
      Iterator<Date> tempXaxisIterator = tempXaxis.iterator();
      while (tempXaxisIterator.hasNext()) {
        Date next = tempXaxisIterator.next();
        for (MosStat mosStat : mosStats) {
          Date statDate = mosStat.getStatDate();
          if (next.equals(statDate)) {
            tempXaxisIterator.remove();
          }
        }
      }
    ...
               

    2. 利用集合的contains,判断元素是否在集合中,而后调用集合的remove()方法进行元素删除;

      示例代码:

    ...
      for (MosStat mosStat : mosStats) {
        Date statDate = mosStat.getStatDate();
        if (tempXaxis.contains(statDate)) {
          tempXaxis.remove(statDate);
        }
      }
    ...
  • 相关阅读:
    UI5 Databind
    the meaning of myconputer environment path
    Linux查看日志常用命令
    fw: IP bonding in Linux.
    FW:expect tcl install
    install ET underlinux
    转expect 文一篇。
    linux 集萃
    try expect and autoexpect
    linux 压缩种类
  • 原文地址:https://www.cnblogs.com/sknn/p/8274688.html
Copyright © 2011-2022 走看看