2015-11-14 54 views
-6

我想比較一個custom class的兩個數組,它們存儲一些字符串和shorts.The的目的是從第二個數組中獲取那些不在第一個數組中的項。 作爲回報,我想要一個我的班級數組。JAVA - 獲取兩個數組之間的差異

感謝您的幫助。

+4

向我們展示了你寫的代碼。 –

+0

很難理解你的問題,對不起。 –

+0

可能要檢查出http://stackoverflow.com/questions/5283047/intersection-and-union-of-arraylists-in-java或http://stackoverflow.com/questions/13732312/differences-between-two-陣列。 – Sniper

回答

0

首先,您需要在自定義類中創建一個接受同一類的對象的方法,並測試被推測對象是否具有與調用該方法的對象相同的值。然後循環訪問數組,查看對象是否等於另一個對象。這已經在String類中完成了。在字符串類中有一個方法 equals(String s)您可以使用

下面是如何比較2個字符串數組的示例。爲了使它與你自定義類一起工作,只需改變數組類型並在你的類中創建一個.equals方法。

String[] array1={"Hello","Hi"}; 
String[] array2={"Hello","eat"}; 

for(int x=0;x<array1.length;x++){ 
    Boolean present=false; 
    for(int y=0;y<array2.length;y++){ 
     if(array1[x].equals(array2[y])){ 
     present=true; 
     break; 
     } 
    } 
    if(!present){ 
     System.out.println(array1[x]); 
} 
} 

編輯:

這裏是你將如何讓你的equals方法中的自定義類

public class custom{ 
int value; 
String text; 

public Boolean equals(custom obj){ 
    if(this.value==obj.value && this.text.equals(obj.text)){ 
    return true; 
}else{return false;} 
} 
} 
+0

非常感謝,它的工作 – DodoProgramms

+0

歡迎您,請不要忘記選擇正確的答案。 – Paul