我有两个列表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));
答案 0 :(得分:0)
你应该使用内部列表作为参数来包含和不相交吗?