簡體   English   中英

Java比較器-比較列表中的2個不同的對象

[英]Java Comparator - Comparing 2 different objects in list

我在Java中有以下課程,我想將list中的tocompare對象與之前的tocompare對象進行比較, tocompare t2t1比較。

我是Java的新手,所以我對如何做到這一點並不了解。

public class ToCompare {
    private String property1;
    private String property2;

    public void getProperty1(){
        return property1;
    }
    public void setProperty1(String property1){
        this.property1 = property1;
    }

    public void getProperty2(){
        return property2;
    }
    public void setProperty1(String property2){
        this.property2 = property2;
    }
}

List<ToCompare> tocompare = new ArrayList();
ToCompare t1 = new ToCompare();
ToCompare t2 = new ToCompare();
ToCompare t3 = new ToCompare();
ToCompare t4 = new ToCompare();

tocompare.add(t1); //obj1
tocompare.add(t2); //obj2
tocompare.add(t3); //obj3
tocompare.add(t4); //obj4

for (String comp : tocompare) {
    // compare properties of 2nd ToCompare object with 1st ToCompare object
}

使用Comparable接口並實現compareTo方法,該方法定義比較策略-https: //docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html

例如,如果您要根據property1比較它們-

public class ToCompare implements Comparable<ToCompare> {
    private String property1;
    private String property2;

    public void getProperty1(){
        return property1;
    }

    public void setProperty1(String property1){
        this.property1 = property1;
    }

    public void getProperty2(){
        return property2;
    }

    public void setProperty1(String property2){
        this.property2 = property2;
    }

    @Override
    public int compareTo(ToCompare toCompare){  
        return this.getProperty1().compareTo(i.getProperty1()); 
   }  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM