-3
我需要比較2個相同類型對象的列表。我能得到哪個方法最快的建議嗎?比較2對象列表java
E.g
public class Cars {
String engine;
String brand;
String etc ..;
我方法compareCars(列表中的一個,列表B),如果有一個單次發生在其中的汽車在兩者相同,則返回true。
我需要比較2個相同類型對象的列表。我能得到哪個方法最快的建議嗎?比較2對象列表java
E.g
public class Cars {
String engine;
String brand;
String etc ..;
我方法compareCars(列表中的一個,列表B),如果有一個單次發生在其中的汽車在兩者相同,則返回true。
首先,班級名稱應該是單數 - 車。
I suggest the following code.
你可以重寫hashCode()和equals()來獲得比較兩輛汽車,如你所願。
boolean compareCars(List<Car> cars1, List<Car> cars2) {
boolean isSingleOccuranceMatch = false;
for (Car car : cars1) {
if (cars2.contains(car)) {
isSingleOccuranceMatch = true;
break;
}
}
return isSingleOccuranceMatch;
}
不需要變量isSingleoccuranceMatch。
This is just for readability.
您可以直接返回true而不是break並在完成所有迭代後返回false。
使用Java8,無需任何方法
cars1.stream().filter(car1 -> cars2.contains(car1)).count() > 0
謝謝,作品完美無缺 – pVas94
請發表您的compareCars方法的代碼。此外,澄清你想知道什麼,因爲這是非常不明確的 –
它取決於數據的特點...如果列表具有相同的大小和相同的順序,那麼你必須比較[i]和b [i]在set(0,N)中...看起來像一個基本的編程練習 – Selvin
我實際上沒有比較方法的代碼,這是我的問題如何比較2個對象列表。但我想也許使用: 爲 (在列表中每節車廂)爲(名單B.每節車廂) 如果等號{// 做一些 } – pVas94