如何遍历LinkedList并检索数字或非零数字第一次出现的索引?



如果我有一个列表,比如

[0,0,5,7,9]

我想获得数字"5"的索引位置,即2,并在此之后停止打印。

我试过这样做,但它会打印出2、3和4。有没有办法让它在找到数字"5"后停止打印?

    LinkedList<Integer> list = new LinkedList<Integer>();
    list.add(0);
    list.add(0);
    list.add(5);
    list.add(7);
    list.add(9);

    for(int i = 0; i< list.size(); i++){
        if(list.get(i) != 0){
            System.out.println(i);
        }
    }

打破for循环:

for(int i = 0; i< list.size(); i++){
    if(list.get(i) != 0){
        System.out.println(i);
        break;
    }
}

后面的关键字将中断循环的执行

break;

也看到

  • "循环:";Java代码。这是什么,为什么会编译?

这也可以使用while循环来实现。例如,一些伪代码:

int count = 0     
while (keepTesting != true && count < size of the list)
{
    check integer at index [count]
    if (integer at index [count] != 0)
        set keepTesting to false
    increment count by 1  
}

你可以选择任何循环机制来解决这个问题。

相关内容

最新更新