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);
    }
  }
...

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-09
  • 2022-12-23
  • 2022-01-05
  • 2021-11-21
  • 2022-12-23
  • 2021-06-04
猜你喜欢
  • 2021-08-25
  • 2021-06-04
  • 2022-12-23
  • 2021-08-09
  • 2022-12-23
  • 2021-12-08
  • 2021-08-26
相关资源
相似解决方案