如何使用java在for循环中获取当前和下一个arraylist索引

时间:2015-06-29 04:14:54

标签: java arraylist

我正在开发一个Java应用程序,我有一个.. function timey() { console.log( displayMinutesObj.innerHTML ); } ..

我正在获取最新的int ArrayList索引,但请指导我如何使用ArrayList循环获取下一个ArrayList索引。

我正在尝试使用下面的代码执行此操作,但我收到for例外:

ArrayIndexOutOfbound

假设arraylist具有以下元素。

ArrayList<Integer> temp1 = new ArrayList<Integer>();

我们如何使用for循环来实现这一目标:

temp1={10,20,30}

我想加上1st-10和20                                                 2月20日和30日                                                 3月30日和10日

有可能实现这一目标吗?它适用于任何大小的for(int i=0;i<arraylist.size;i++)<--size is 3 { int t1=temp1.get(i); int t2=temp1.get(i+1); // <---here i want next index } 。我愿意采用不同的方法来实现这一目标。

2 个答案:

答案 0 :(得分:7)

如果要为最后一个索引添加第一个索引值,则应使用next position索引作为 - (i+1)%arraylist.size()。此外,ArrayList大小是函数,而不是变量。

所以循环将是 -

for(int i=0;i<arraylist.size();i++)<--size is 3
{
    int t1=temp1.get(i);
    int t2=temp1.get((i+1)%arraylist.size());
}

答案 1 :(得分:0)

修改了您的代码段。请检查以下内容

            import java.util.ArrayList;

            public class Main {


                public static void main(String[] args) {
                    ArrayList<Integer> temp1 = new ArrayList<Integer>();
                    temp1.add(10);
                    temp1.add(20);
                    temp1.add(30);
                           for(int i=0;i<temp1.size()-1;i++)
                           {
                               int t1=temp1.get(i);
                               int t2=temp1.get(i+1); 
                               System.out.println(t1+t2);
                               if(i==temp1.size()-2){
                                   System.out.println(temp1.get(0)+temp1.get(temp1.size()-1));
                               }
                           }
                }
            }

输出:

30

50

40