如何实现ArrayList相邻元素比较(后项需大于前项)及代码修正
修正ArrayList相邻元素比较的Java代码
原代码的问题
- 增强for循环(for-each)只能遍历单个元素,无法同时获取当前元素和下一个元素,没法完成相邻元素的对比逻辑。
x < x + 1的判断完全无效,对于常规double值,这个条件永远成立,根本没实现相邻元素的大小校验。
正确实现代码
要验证ArrayList是否满足每一个后序元素严格大于前序元素,可以用普通索引循环实现:
// 默认假设列表满足要求 boolean variable3 = true; // 循环到列表倒数第二个元素即可,避免索引越界 for (int i = 0; i < Test2.size() - 1; i++) { double current = Test2.get(i); double next = Test2.get(i + 1); // 发现后一个元素不大于前一个,直接标记为不满足并终止循环 if (next <= current) { variable3 = false; break; } }
代码逻辑说明
- 先初始化
variable3为true,默认列表符合严格递增要求。 - 循环索引从0到
Test2.size()-2,确保每次都能获取当前元素和下一个相邻元素。 - 一旦找到任意一对不满足“后一个元素大于前一个”的情况,立刻将
variable3设为false并退出循环,无需继续遍历剩余元素。 - 如果循环正常执行完毕,说明所有相邻元素都符合要求,
variable3保持为true。
内容的提问来源于stack exchange,提问作者Flowerboy1
相关产品推荐
相关产品推荐

