package com.tencent.baosen.collection;
import java.util.ArrayList;
import java.util.List;
/**
* 本程序通过List保存自定义的Member类对象,由于contain()和remove()方法的实现要求是通过对象比较的形式处理,
* 所以必须在Member类中实现equals()方法覆写。
*/
class Member{
private String name;
private int age;
public Member(String name, int age){
this.name = name;
this.age = age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
@Override
public boolean equals(Object obj) {
if(obj == null){
return false;
}
if(!(obj instanceof Member)){
return false;
}
if(this == obj){
return true;
}
Member member = (Member) obj;
return this.name.equals(member.name) && this.age == member.age;
}
@Override
public String toString() {
return "姓名:"+this.name +","+ "年龄:"+this.age;
}
}
public class ObjectSaveToList {
public static void main(String[] args) {
List<Member> all = new ArrayList<Member>();
all.add(new Member("张三", 30));
all.add(new Member("李四", 18));
all.add(new Member("王五", 45));
all.forEach(System.out::println);
System.out.println(all.contains(new Member("王五", 45)));
all.remove(new Member("王五", 45));
all.forEach(System.out::println);
}
}
[Java]ArrayList保存自定义类对象,如果使用了ArrayList的contain()和remove()方法,一定要覆写类中的equals()方法
最新推荐文章于 2022-10-13 12:00:22 发布