【问题标题】:Check if a list contains another list in Java检查列表是否包含Java中的另一个列表
【发布时间】:2014-07-03 00:54:38
【问题描述】:

我有两个列表List<List<Integer>> a 和 b,如下:

a = [[120, 0], [121, 1], [122, 2], [123, 3], [124, 4], [125, 5]]
b = [[123, 3]]

我想要一个简单的方法,如果b 包含a 的元素,则返回truefalse

我尝试了b.contains(a)!Collections.disjoint(a, b),但无济于事。它似乎不适用于如此深的列表。

编辑:我正在发布我的问题的完整代码:

一些私有变量:

private List<List<Integer>> processedCurrentCoordinate = new ArrayList<List<Integer>>();

主菜(我希望只有在HurdlefullCoordinatesList 包含在this.processedCurrentCoordinate 中时才处理第一个循环

public List<Integer> getNewData(int oldPositionX, int oldPositionY, int hasFood, List<List<Integer>> HurdlefullCoordinatesList) {

do {
  do {
    this.currentCoordinate.clear();
    this.processedCurrentCoordinate.clear();
    this.newPositionX = this.modelAnt.randomposition(oldPositionX);
    this.newPositionY = this.modelAnt.randomposition(oldPositionY);
    this.currentCoordinate.add(newPositionX);
    this.currentCoordinate.add(newPositionY);
    this.processedCurrentCoordinate.add(currentCoordinate);
  } while((Integer.valueOf(this.newPositionX).equals(Integer.valueOf(oldPositionX))) && (Integer.valueOf(this.newPositionY).equals(Integer.valueOf(oldPositionY))));
} while(HurdlefullCoordinatesList.contains(this.processedCurrentCoordinate));

【问题讨论】:

  • 向我们展示您的尝试。这取决于List 的实现及其包含的元素。
  • 抱歉,这似乎是一条自动消息。我正在更新问题。
  • Here's an example that works. 请记住,列表是有序的。
  • 谢谢,学习了,可惜看不懂。我会更加努力。之间,我更新了我的问题。

标签: java


【解决方案1】:

你应该使用内部列表作为参数来包含和不相交吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2021-04-14
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    相关资源
    最近更新 更多