删除集合元素,相信一提,肯定就是调用集合中的remove()方法了!
下面看个例子:
public void operate(List list){
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
list.remove(str);
}
}
}
这样做可以删除元素吗?自己运行下试试!
答案一定是报错了!那么如何才可以删除正在循环的集合中的元素呢?
一个笨方法:
public void operate(List list){
List removeList= new ArrayList();
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
removeList.add(str);
}
}
list.removeAll(removeList);
}
一个聪明的方法:
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
it.remove();
}
}
你会用哪一个呢?
分享到:
相关推荐
2. 当使用 Iterator 来迭代访问 Collection 集合元素时,Collection 集合里的元素不能被改变,只有通过 Iterator 的 remove 方法来删除上一次 next 方法返回的集合元素才可以。否则将会引发 java.util....
字典和集合综合案例;遍历字典中所有的“键-值”对需要用到items()方法,该方法以列表形式返回可遍历的“(键,值)”元组。;当不需要使用字典中的值时,...1.添加与删除集合元素;例如:;2.集合运算;例如:;;;;;课程小结
当我们需要遍历List并根据条件删除特定元素时,需要注意正确的方法,以避免在遍历过程中出现错误。以下将详细介绍如何在C#中遍历List并删除元素,包括正序和倒序遍历的技巧。 首先,我们来看一下错误的遍历方式。...
在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从而导致在foreach中删除元素时会抛出异常。 集合已修改;可能无法执行枚举操作。 方法一:采用for循环,并且从尾到头遍历 如果...
在Java编程中,删除集合元素是一项常见的操作,但必须遵循特定的规则,以避免出现异常。在本例中,我们探讨了如何在Java中安全地删除一个集合的多个元素,特别是涉及`for each`循环和`Iterator`时的注意事项。 首先...
集合分为可变集合和不可变集合,对于可变集合可以添加和删除集合元素,但其中的元素本身却是不可修改的,因此集合的元素只能是数值、字符串或元组。可变集合不能作为其他集合的元素或为字典的关键字使用,不可变集合...
- **容量与大小**: `size()`返回集合元素数量,`ensureCapacity()`预先设定容量。 4. **集合转换**: - `toArray()`:将集合转换为数组。 - `copyOf()`:Java 8引入,用于安全地创建数组副本。 5. **集合操作**...
根据给定文件的信息,本文将详细介绍如何在Java的List集合中去除重复元素的三种方法:使用for循环、使用迭代器以及利用HashSet的特性。 ### 一、使用for循环去除重复元素 这种方法的基本思想是通过双重循环来遍历...
该类中包含了多个成员函数,用于实现集合的基本运算,例如添加元素、删除元素、判断元素是否在集合中、输出集合等。 首先,我们定义了 int_set 类的构造函数,用于初始化集合的最大大小和当前大小。然后,我们定义...
本文将详细讲解C++编程中集合类的实现,包括集合类的定义、添加元素、删除元素、判断集合是否为空或满、判断元素是否包含在集合中、计算集合中的元素总数、输出集合中的元素、求两个集合的交集和并集等操作。...
除了这些基本操作,Java集合框架还提供了`removeAll(Collection<?> c)`方法,用于删除集合中所有匹配指定集合的元素,以及`retainAll(Collection<?> c)`方法,保留那些存在于指定集合中的元素,其余的都会被删除。...
在IT领域,集合比较是一...通过理解并熟练运用这些方法,我们可以有效地比较和操作两个List集合,无论是查找新增、编辑还是删除的元素。在实际项目中,这种能力对于数据同步、日志分析、版本控制等多个场景都至关重要。
1. 本演示程序中,集合元素限定为数字,大小由用户输入。集合中数字顺序不限,且一旦出现重复字符或非法字符,程序能自动滤去。输出的运算结果中将不含重复数字或非法字符,且按照从小到大的顺序输出。 2. 演示...
- **A_B(A, D)**:实现集合A与集合D的差集操作,即从集合A中删除所有集合D中存在的元素。 - 遍历集合D的元素,并检查其是否存在于集合A中。 - 如果存在,则从集合A中删除该元素。 #### 3. 辅助函数 - **GetElem(L...
这些操作对于集合的并、交、差运算至关重要,因为它们允许在链表中有效地查找、插入和删除元素。 集合的抽象数据类型进一步定义了创建集合、销毁集合、计算并集、交集、差集以及打印集合的操作。这些操作基于有序表...
大多数时候,遍历集合元素的时候并不需要对元素进行增加或者删除操作,但有些时候则需要,比如,如果集合中盛放的元素是社会上所有的人,那么有人死亡则元素删除,有人出生则是集合元素的增加。对于这种情况,遍历不...
如果在遍历过程中删除元素"a",由于ArrayList的删除操作会移动后面的元素来填补空位,原本指向元素"b"的游标在删除操作后实际上会指向元素"c"。这就导致元素"b"无法被遍历到,而"b"和"c"之间的关系并未改变,导致...
- 不可变性:集合中的元素不能被修改,尝试添加已存在的元素或删除不存在的元素会引发错误。 - 唯一性:集合内的元素必须是不可变的,并且不允许重复。尝试添加相同的元素只会保留一个,例如:`s = {'a', 'a', 'a'}`...
集合类通常提供更丰富的接口和方法,如添加、删除、查找、遍历等,相比于数组更易于实现复杂的数据管理。 数组和集合在使用上各有优势。数组的访问速度快,内存占用小,适合固定大小的数据集合;而集合提供了更多的...