Java 如何使用childrens Overrided equals()方法检查父ArrayList中子对象的相等性
嗨,如果你能帮我弄清楚如何检查这里的平等性,我将不胜感激 所以我有一个父类:person,和子类:man,woman,这两个子类都是平等的,如果man对象每年赚的钱相同,而woman对象的年龄相同,那么这两个子类都是平等的。在父类person中:我有一个arraylist,每个arraylist有5个man和woman对象,其中一些对象将被视为在每个子类equals(Object o)方法中定义的相等对象。我如何筛选arraylist以打印哪些是相等的Java 如何使用childrens Overrided equals()方法检查父ArrayList中子对象的相等性,java,oop,arraylist,Java,Oop,Arraylist,嗨,如果你能帮我弄清楚如何检查这里的平等性,我将不胜感激 所以我有一个父类:person,和子类:man,woman,这两个子类都是平等的,如果man对象每年赚的钱相同,而woman对象的年龄相同,那么这两个子类都是平等的。在父类person中:我有一个arraylist,每个arraylist有5个man和woman对象,其中一些对象将被视为在每个子类equals(Object o)方法中定义的相等对象。我如何筛选arraylist以打印哪些是相等的 import java.util.Arra
import java.util.ArrayList;
public class Person
{
private ArrayList<Person> people;
public Person()
{
people = new ArrayList<>();
people.add(new Man("John Smith", 51000));
people.add(new Man("Who Ever", 0));
people.add(new Man("Brent Groff", 51000));
people.add(new Man("Adam Nothing", 29000));
people.add(new Man("Bob Dob", 90000));
people.add(new Woman("Jane Smith", 45));
people.add(new Woman("Holly Way", 60));
people.add(new Woman("Anna Sheroka", 28));
people.add(new Woman("Fara Daniels", 28));
people.add(new Woman("Minie Do", 19));
}
public void displayAllEqualPeople()
{
for (int i = 0; i < people.size() ; i++)
{
for (int j = 1 ; j < people.size() ; j++)
{
if (people.get(i) instanceof Man)
{
}
}
}
}
}
import java.util.ArrayList;
公共阶层人士
{
私人ArrayList人;
公众人士()
{
people=newarraylist();
新增(新人(“约翰·史密斯”,51000));
添加(newman(“Who Ever”,0));
新增(新人(“布伦特·格罗夫”,51000));
新增(新人(“亚当一无所获”,29000));
新增(新人(“鲍勃·多布”,90000));
新增(新女性(“简·史密斯”,45岁));
添加(新女性(“Holly Way”,60));
新增(新女性(“安娜·谢洛卡”,28岁));
新增(新女性(“法拉·丹尼尔斯”,28));
添加(新女性(“Minie Do”,19));
}
public void displayallqualpeople()
{
for(inti=0;i
这将按工资/年龄对人员进行分组
Map<String, Person> men = people.stream()
.filter(p -> p instanceof Man)
.map(p -> (Man) p)
.collect(groupingBy(Man::getSalary));
Map<String, Person> women = people.stream()
.filter(p -> p instanceof Woman)
.map(p -> (Woman) p)
.collect(groupingBy(Woman::getAge));
Map men=people.stream()
.过滤器(p->p Man实例)
.地图(p->(男)p)
.collect(groupingBy(Man::getSalary));
Map women=people.stream()
.过滤器(p->p女性实例)
.地图(p->(女性)p)
.collect(groupingBy(Woman::getAge));
这将按工资/年龄对人员进行分组
Map<String, Person> men = people.stream()
.filter(p -> p instanceof Man)
.map(p -> (Man) p)
.collect(groupingBy(Man::getSalary));
Map<String, Person> women = people.stream()
.filter(p -> p instanceof Woman)
.map(p -> (Woman) p)
.collect(groupingBy(Woman::getAge));
Map men=people.stream()
.过滤器(p->p Man实例)
.地图(p->(男)p)
.collect(groupingBy(Man::getSalary));
Map women=people.stream()
.过滤器(p->p女性实例)
.地图(p->(女性)p)
.collect(groupingBy(Woman::getAge));