Collection的remove方法

Collection的remove方法


package com.cheng.collection;
​
import java.util.ArrayList;
import java.util.Collection;
//coll.remove(Object obj)   从coll集合中删除obj元素
//coll.removeAll(coll1)   从coll集合中删除coll1中所有元素 即两个集合的交集
public class Remove1 {
   public static void main(String[] args) {
       Collection coll  =  new ArrayList();
       coll.add(123);
       coll.add(456);
       coll.add(123);
       coll.add(new String("牛不牛"));
       coll.add(false);
       coll.add(new Person("Ali",24));
​
       coll.remove(123);//只删除第一个匹配到的123
       System.out.println(coll);//456 123 牛不牛 false Person{name='Ali', age=24}
​
       Collection coll1 = new ArrayList();
       coll1.add(123);
       coll1.add(new Person("Ali",24));
       System.out.println(coll1);//123   Person{name='Ali', age=24}
       System.out.println(coll.removeAll(coll1));//自定义的Person需要重写equals方法才能删除成功
       // 否则都会显示true 但是不重写元素还在集合里删不掉
       System.out.println(coll);//456 牛不牛 false
​
  }
}
​

Person类:

package com.cheng.collection;
​
import java.util.Objects;
​
public class Person {
   private String name;
   private int age;
​
   public Person() {
  }
​
   public Person(String name, int age) {
       this.name = name;
       this.age = age;
  }
​
   public String getName() {
       return name;
  }
​
   public void setName(String name) {
       this.name = name;
  }
​
   public int getAge() {
       return age;
  }
​
   public void setAge(int age) {
       this.age = age;
  }
​
   @Override
   public String toString() {
       return "Person{" +
               "name='" + name + '\'' +
               ", age=" + age +
               '}';
  }
​
​
   //重写equals如下
   @Override
   public boolean equals(Object o) {
       if (this == o) return true;
       if (o == null || getClass() != o.getClass()) return false;
       Person person = (Person) o;
       return age == person.age && Objects.equals(name, person.name);
  }
​
​
​
}
​

 

posted @ 2021-07-28 17:38  Dudo1  阅读(299)  评论(0)    收藏  举报