public boolean removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。此调用返回后,collection 中将不包含任何与指定 collection 相同的元素。
import java.util.*;
import java.io.Serializable;
public class TestRemoveAll{
public static void main(String[] args){
//测试removeAll方法
/*
//removeAll在数据量很大的情况下是不适合用的
List<Double> testList = new ArrayList<Double>();
for(Double i=0.0;i<655355;i++){
testList.add(i);
}
List<Double> test = new ArrayList<Double>();
for(Double i=0.0;i<6555;i++){
test.add(i);
}
Long l = System.currentTimeMillis();
testList.removeAll(test);
System.out.println(System.currentTimeMillis()-l);
*/
List<Student> lists = new ArrayList<Student>();
lists.add(new Student("1","Lucy",20));
lists.add(new Student("2","Mary",23));
lists.add(new Student("3","Neck",22));
List list1 = new ArrayList();
list1.add(new Student("2","Mary",23));
list1.add(new Student("3","Neck",22));
lists.removeAll(list1);
for(Student list: lists){
System.out.println(list.getId()+" "+list.getName()+" "+list.getAge());
}
}
}
class Student implements Serializable{
private String id;
private String name;
private Integer age;
public Student(){}
public Student(String id,String name ,Integer age){
this.id = id;
this.name = name;
this.age = age;
}
public void setId(String id){
this.id = id;
}
public void setName(String name){
this.name = name;
}
public void setAge(Integer age){
this.age = age;
}
public String getId(){
return id;
}
public String getName(){
return name;
}
public Integer getAge(){
return age;
}
//覆盖equals方法 注意参数为:Object类型
public boolean equals(Object obj){
Student stu = (Student)obj;
boolean flag = true;
if(!stu.getId().equals(id)){
flag = false;
}else if(!stu.getName().equals(name)){
flag = false;
}else if(stu.getAge()!=age){
flag = false;
}
return flag;
}
/*public int hashCode(){
return 0;
}*/
}
问题1:覆盖了equals方法是否一定覆盖hashCode方法
http://www.exam8.com/computer/djks/dj2/Java/ziliao/200810/1314425.html
问题2:removeAll方法在数据量很大的情况下,是不适合用的,该用什么方法来解决呢
另外还有retainAll
public boolean retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。换句话说,移除此 collection 中未包含在指定 collection 中的所有元素。
此实现在此 collection 上进行迭代,依次检查该迭代器返回的每个元素,以查看其是否包含在指定的 collection 中。如果不是,则使用迭代器的 remove 方法将其从此 collection 中移除。
分享到:
相关推荐
`void removeAll(Collection c)` 从当前集合中移除指定集合中存在的所有元素。这是一种高效的操作,通常用于数据清理或过滤场景。 #### 9. `boolean addAll(Collection c)` 将指定集合中的所有元素添加到当前...
11. `public boolean removeAll(Collection<?> c)`:从集合中移除另一集合的所有元素。 12. `public boolean retainAll(Collection<?> c)`:仅保留集合中与指定集合相同的元素,删除其他所有元素。 13. `public ...
Collection接口定义了存储和操作一组对象的基本方法,如添加元素(add)、删除元素(remove)、检查是否包含特定元素(contains)、获取元素数量(size)等。它是所有集合类的父接口,提供了一个统一的接口来处理不同类型的...
4. **removeAll(Collection c)**:移除当前集合与另一个集合共有的所有元素。 5. **retainAll(Collection c)**:仅保留当前集合与另一个集合共有的元素。 6. **clear()**:清空集合中的所有元素。 7. **contains...
- `boolean removeAll(Collection<?> c)`: 移除集合中与指定集合共有的所有元素(即求集合的差集)。 - `boolean retainAll(Collection<?> c)`: 仅保留集合中与指定集合共有的元素(即求集合的交集)。 - **转换...
- **`removeAll(Collection<?> c)`**:从当前集合中移除与指定集合共同拥有的元素(即删除交集)。 - **`iterator()`**:返回一个用于遍历集合元素的迭代器。 - **`toArray()`**:将集合转换为数组。 ### 四、集合...
removeAll方法用于从列表中移除指定collection中包含的所有元素。其语法为:`removeAll(Collection<?> c)`,其中c为包含从列表中移除元素的collection对象。该方法返回值为boolean对象,如果List集合对象由于调用...
Collection接口的主要方法包括add、addAll、remove、removeAll、retainAll等。 Iterator模式是Java集合类中的一种遍历模式,用于遍历集合的所有元素。Iterator模式可以把访问逻辑从不同的集合类中抽象出来,从而...
4. List接口的其他方法,如containsAll()、addAll()、removeAll(),用于比较、添加和移除多个元素。 最后,“3-集合框架003-ArrayList实操-1080P 高清-AVC.mp4”可能涉及实际编程示例,展示ArrayList在实际项目中的...
11.removeAll(Collection<?> c):移除与指定集合c相同的元素(即移除两集合交集部分)。 12.retainAll(Collection<?> c):保留与指定集合c中相同的元素(即移除与指定集合不同的元素)。 13.clear():清空集合。 ...
45. **RemoveAll方法** 46. **Show方法** 47. **Skip方法** 48. **SkipLine方法** 49. **WhatsThisMode方法** 50. **Write方法** 51. **WriteBlankLines方法** 52. **WriteLine方法** #### Add方法 **简介:** `Add...
- **组操作**:作用于元素组或整个集合,如表11.3所示,包括`addAll(Collection<? extends E> c)`用于添加多个元素,`removeAll(Collection<?> c)`用于移除集合中的多个元素等。 - **转换操作**:用于集合与数组间的...
- `removeAll(Collection coll)`:移除列表中包含的所有指定集合中的元素。 - `retainAll(Collection coll)`:只保留列表中包含的指定集合中的元素。 - `contains(Object obj)`:检查列表中是否存在指定的对象。 - `...
- **removeAll(Collection c)**:移除集合中包含指定集合的所有元素。 - **clear()**:清空集合中的所有元素。 ##### 2. Collection的常用方法示例 下面是一个简单的示例代码,展示了如何使用`Collection`接口的...
* removeAll(Collection c):删除此集合的所有也包含在指定集合中的元素。 * retainAll(Collection c):仅保留此集合中包含在指定集合中的元素。 * size():返回此集合中的元素数。 * stream():返回以此集合作为其...
- `containsAll(Collection<?> c)`:判断集合是否包含另一集合的所有元素。 4. **遍历元素**: - `iterator()`:返回一个迭代器,可以用来依次访问集合中的每个元素。 - `forEach(Consumer<? super E> action)`...
* removeAll(Collection<?> c):删除集合中的所有元素。 * clear():清空集合中的所有元素。 1.2.2 迭代器 迭代器是 Collection 接口中的一个重要概念,它允许开发者遍历集合中的所有元素。迭代器可以使用 hasNext...
此外,C# 6.0引入了`RemoveAll()`方法,它可以一次性移除满足指定条件的所有元素,这样可以简化代码并提高性能: ```csharp List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; numbers.RemoveAll(n => n % 2 =...
boolean containsAll(Collection c) 查找集合中是否含有集合 c 中所有元素、boolean addAll(Collection c) 将集合 c 中所有元素添加给该集合、void clear() 删除集合中所有元素、void removeAll(Collection c) ...
- RemoveAll方法 - **Err对象** - Clear方法 - Raise方法 - **File对象、Folder对象** - Copy方法 - Delete方法 - CreateTextFile方法(Folder对象) - Move方法 - OpenAsTextStream方法(File对象) - **...