两个自定义对象List列表取交集(intersection)

Posted YSHY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个自定义对象List列表取交集(intersection)相关的知识,希望对你有一定的参考价值。

    public static void main(String[] args) {
        List<Fpxx> list = ListUtils.intersection(getFpList1(), getFpList2());
        
        for(Fpxx fp:list){
            System.out.println(fp);
        }
        
        System.out.println("size:"+list.size());
    }
    
    
    public static List<Fpxx> getFpList1() {
        List<Fpxx> list = new ArrayList<Fpxx>();
        for(int i=100000;i<200000;i++){
            Fpxx fp = new Fpxx();
            fp.fpdm = "0223678";
            fp.fphm = "3"+i;
            
            list.add(fp);
        }
        
        return list;
    }
    
    public static List<Fpxx> getFpList2() {
        List<Fpxx> list = new ArrayList<Fpxx>();
        for(int i=199900;i<199910;i++){
            Fpxx fp = new Fpxx();
            fp.fpdm = "0223678";
            fp.fphm = "3"+i;
            
            list.add(fp);
        }
        
        return list;
    }
}

class Fpxx {
    public String fpdm;
    public String fphm;

    @Override
    public int hashCode() {
        int hash = 3;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Fpxx other = (Fpxx) obj;
        if ((this.fpdm == null) ? (other.fpdm != null) : !this.fpdm.equals(other.fpdm)) {
            return false;
        }
        if ((this.fphm == null) ? (other.fphm != null) : !this.fphm.equals(other.fphm)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Fpxx{" + "fpdm=" + fpdm + ", fphm=" + fphm + ‘}‘;
    }
    

 

以上是关于两个自定义对象List列表取交集(intersection)的主要内容,如果未能解决你的问题,请参考以下文章

list的取差集

Linq两个List集合取交集

Java8===两个List集合取交集并集差集

Java8===两个List集合取交集并集差集

JAVA怎么取多个List集合的交集?

c# 两个list的交集问题!