2013-11-22 23 views

回答

6

有很多方法可以做到这一点。在这个例子中,我假设你的列表保存了整数。

  1. 可以使用的ListIterator

    ListIterator<Integer> it = list.listIterator(100); 
    while (it.hasNext()) { 
        System.out.println(it.next()); 
    } 
    

    for(保留迭代器范围的内环路)

    for (ListIterator<Integer> lit = list.listIterator(100); lit.hasNext();) { 
        System.out.println(lit.next()); 
    } 
    
  2. 或正常的循环,但来自i=100

    for (int i=100; i<list.size(); i++){ 
        System.out.println(list.get(i)); 
    } 
    
  3. 启动
  4. 或只是创建子列表,并遍历它就像你通常做

    for (Integer i : list.subList(100, list.size())){ 
        System.out.println(i); 
    } 
    
+1

为什么'while'在第一个例子中? 'for'会使它保持适当的范围。 –

+0

@MarkoTopolnik这真的很好,但我不想将OP与不必要的信息混淆。但也许你是对的,会加上它来回答。 – Pshemo

1

尝试这样来遍历一个范围:

for(int i=100; i< myArrayLst.size(); i++){ 
    System.out.println(myLst.get(i)); 
    } 
0

使用ListIterator。和阅读API文档,谢谢。

ListIterator<YourType> iter = list.listIterator(start); 
+0

对于子列表,*最适当的*方法得到增强! –

+0

@MarkoTopolnik不,这将创建更多的对象和间接*。使用迭代器没什么问题 - “增强”仅仅是使用迭代器的捷径。 –

+0

我想我的讽刺在你身上失去了 –

0

ListIterator使用

ListIterator<Type> iter = list.listIterator(start);