2016-08-18 34 views
-3

我有一个ArrayList,我想遍历它每2个元素,像这样:([1,2],[3,4],[5,6])Java迭代列表成对每个2个元素

目前我能够迭代这样的列表:([1,2],[2,3],[3,4]),但这不是我想要的结果。

这里是我的代码:

Iterator<MyObject> iterator = myList.iterator(); 
     if (iterator.hasNext()) { 
      MyObject o1 = iterator.next(); 
      while (iterator.hasNext()) { 
       final MyObject o2 = iterator.next(); 
       //Do my stuff 
       o1 = o2; 
      } 
     } 

我知道应该是相当简单,但我没有看到它。

我从这个链接的代码:Link 1

我也看到了这些后:

Link 2

Link 3

+3

你也看到了这些问题,很好地回答了这个问题。 – khelwood

+0

@Enzokie如果列表包含零个元素,我们不做任何事情,如果它包含1个元素,我们只接受这个元素 – Ale

+0

为什么是负面投票?我曾说过我已经尝试了我所指出的链接的解决方案。也许解决方案在那里,但由于某种原因,我不明白它的工作原理。大概我很笨,但我不认为这是一个理由来投票我的问题 – Ale

回答

1

试试这个:

for(int i = 0; i < list.size(); i+=2) { 
    list.get(i); 
    list.get(i+1); 
} 

在你必须检查你是否没有超过列表的大小。

相关问题