import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@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);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
public class ListComparisonExample {
public static void main(String[] args) {
// 创建两个包含Person对象的List
List<Person> list1 = new ArrayList<>();
list1.add(new Person("Alice", 30));
list1.add(new Person("Bob", 25));
List<Person> list2 = new ArrayList<>();
list2.add(new Person("Alice", 30));
list2.add(new Person("Bob", 25));
// 比较两个List中的对象是否相等
boolean areListsEqual = list1.equals(list2);
// 输出比较结果
System.out.println("Are the lists equal? " + areListsEqual);
}
}
自定义类 Person:
name 和 age。equals 和 hashCode 方法,以便在比较两个 Person 对象时可以根据 name 和 age 来判断它们是否相等。toString 方法,方便输出对象信息。主类 ListComparisonExample:
ArrayList,每个列表中包含两个 Person 对象。list1.equals(list2) 方法来比较两个列表中的对象是否相等。由于 Person 类重写了 equals 方法,所以这里的比较会根据对象的内容(即 name 和 age)来进行。通过这种方式,你可以比较两个 List 中的对象内容是否相同。
上一篇:java队列queue使用场景
下一篇:java set 交集
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站