【发布时间】:2013-09-13 11:31:10
【问题描述】:
我想比较两个包含两个单独类的实例的数组列表。
例如: 第一名:HKY SGP 15:00 3 20:20 700
第二名:1 HKY SGP 8:00
所以如果第一个列表包含单词 HKY 和 SGP,则需要返回值 700。 这两个都在一个单独的类中进行比较,称为成本。我使用 main 方法将数组列表传递给这个成本类。然后这个成本类继续比较数组列表。
我尝试过的: 我用谷歌搜索了这个问题并尝试使用他们提供的一些解决方案。 我试过使用包含或相等。它给了我一个不正确的值。
然后我尝试使用两个类的 get 方法进行比较。它也没有提供所需的输出。
我认为我对这两个对象的比较都不正确,不知道如何比较。有人能解释一下如何比较数组列表中的这些对象吗?
谢谢!
主代码:
ArrayList<planes> air = new ArrayList<>();
ArrayList<questions> q = new ArrayList(); // same as below for questions
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
for (int i=0; i<num; i++){
planes p = new planes();
p.setfrom(sc.next());
p.setTo(sc.next());
p.setdT(sc.next());
p.setaD(sc.next());
p.setaT(sc.next());
p.setCt(sc.next());
air.add(p);
}
【问题讨论】:
-
你能把你的代码贴出来让我们看看
-
如何使用面向对象,而不是使用不同字符串的列表,创建一个包含这些字符串并可以与该类的另一个实例进行比较的类?
-
if (list1.contains("HGY") && list1.contains("SGP") && list2.contains("HGY") && list2.contains("SGP")) { return 700; }
-
@RyanHurling 发布了我的一小部分代码,其余的只是 getter 和 setter
-
@SpongeBobFan 我希望将两个列表相互比较,因此如果列表 1 包含列表 2 中的值,则将输出 700