-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