【发布时间】: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 的元素,则返回true 或false。
我尝试了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