【发布时间】:2015-05-11 07:10:36
【问题描述】:
我想知道是否有一种方法可以连续比较 2 个 ArrayList,直到它们的大小相同或它们的元素相同。第一个 ArrayList 将有一组固定的元素(比如说 5 个元素)。第二个 ArrayList 将是空的,并且每次用户交互都会将一个元素添加到第二个 ArrayList。当第二个 ArrayList 与第一个 ArrayList 大小相同时,会比较两个 arrayList 是否相同。
我已经通过多种方式做到这一点:
-
我使用嵌套循环来比较存储和播放的项目
public int compare(ImageView computer, ImageView player){ if(player == computer) return 1; else return 2; } public void checkMatch(){ for(int x = 0; x < storedList.size(); x++){ for(int y = 0; y < playedList.size(); y++){ result = compare(storedList.get(x), playedList.get(y)); if(result == 1) //Do stuff else //End round } } } -
然后我只是尝试明确地这样做
if(playedList == storedList) //do stuff else //do stuff 所有这些都可以工作,但我不知道在哪里调用它以使代码真正等待所有用户输入完全完成。提前感谢您的帮助。
【问题讨论】:
-
(...) 我不知道在哪里调用这个代码才能真正等待所有用户输入完成 - 你的问题的答案取决于你到底在谈论什么样的用户输入?口头?触碰?加速度计?以此类推。
-
你试过 Arrays.deepEquals() 吗?还要覆盖您正在比较的类的 equals 方法。
-
@MH。当一个 ImageView(作为一个按钮被点击)那是用户输入
-
@dora 直到现在我还没有使用 deepEquals :(
-
@Tobidae 如何像在比较方法中那样比较两个图像视图?我认为这是错误的。
标签: java android loops arraylist