java - 将两个数组列表与包含类的实例进行比较

标签 java arraylist

我想比较两个包含两个不同类的实例的数组列表。

例如: 第一份名单:HKY SGP 15:00 3 20:20 700

第二名单:1 HKY SGP 8:00

因此,如果第一个列表包含单词 HKY 和 SGP,则需要返回值 700。 这两者都在一个称为成本的单独类别中进行比较。我使用 main 方法将数组列表传递给这个成本类。然后,该成本类继续比较数组列表。

我尝试过的: 我用谷歌搜索了这个问题并尝试使用他们提供的一些解决方案。 我尝试过使用 contains 或 equal。它给了我一个不正确的值。

然后我尝试使用两个类的 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);


    }

最佳答案

编写自定义Comparator<T>做你需要做的事。

也许两者的正则表达式都可以做到:

// two Strings both contain "foo"
return x.matches("[foo]") && y.matches("[foo]");

如果正则表达式无法做到这一点,请实现您自己的 Knuth-Morris-Pratt 匹配器:

http://www.ics.uci.edu/~eppstein/161/960227.html

关于java - 将两个数组列表与包含类的实例进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18785291/

相关文章:

javascript - 数据库日期和今天日期之间的差异

java - 当我尝试访问多维数组时应用程序崩溃

java - 将 channel 向上/向下按钮与 Android TV 应用程序链接

java - 使用for循环java将多个对象添加到ArrayList

java - 如何以相同的方式随机化两个 ArrayList?

java - 捆绑的 Java OS X 应用程序默认为 MacRoman 编码

java - 缓存Tomcat HttpClient测试

javascript - Chart.js无法显示数据

java - 如何使用递归对 ArrayList<Integers> 求和?

java - 如何从一个 jframe 访问另一个 jframe 的 arraylist