java 涉及到算法、关于循环的一个问题

假如现在有一个list包含1 2 3 4 5 6,共6个元素。
此时我需要去逐个进行比较,1和2, 2和3。。。。。。

我的想法是这样的:上面有6个元素,那么list.size()=6,然后实际从list取值是按0到5来取(第0位到第5位)。

倘若用i和i+1来表示两个数字,则i+1最大等于list.size()-1,则i最大等于list.size()-2。所以for循环应该写成 for(int i=0; i<list.size-2; i++)。

但从实操来看好像-1才是对的,即for(int i=0; i<list.size-1; i++)

请指教,谢谢

阅读 1.4k
1 个回答

i<list.size-2i 最大只能到 list.size-3

i=list.size-2 的时候上面就 false 了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题