【发布时间】:2019-02-16 11:48:37
【问题描述】:
我正在尝试验证数组列表中的所有元素是否相同。这是我的代码:
ArrayList<Integer> arr = new ArrayList<>(Arrays.asList(2,2,4,2));
for (int z = 0; z < arr.size(); z++) {
if(!arr.get(z++).equals(arr.get(z--))) {
System.out.println("same");
}else {
System.out.println("differnt");
}
}
【问题讨论】:
-
是否有必要知道元素的所有组合?否则,只需选择任何元素(例如第一个元素)并进行一次迭代,检查所有元素是否与选择的元素相同。如果是这样,那么所有元素都是相同的。
-
你知道
z++和z--实际上是在修改z吗?这段代码读起来超级复杂,我强烈建议不要以任何聪明的方式使用++或--,它容易出错并且会使读者感到困惑。如果您只需要下一个或上一个元素,请执行get(z + 1)和get(z - 1),这不会修改z。 -
您的问题缺少详细信息。你至少应该给出一个清晰的例子,当前的输出和期望的输出。请阅读minimal reproducible example、help center 和How to Ask,谢谢。在当前状态下,它的质量很差,因此可能会收到反对票,甚至接近票数。