我如何在每个循环中获取索引,并且如何执行1个以上的操作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何在每个循环中获取索引,并且如何执行1个以上的操作?相关的知识,希望对你有一定的参考价值。

我有一些我从未见过的东西:一个有一些响应的forEach循环。它正在工作,但是,显然没有索引:请参见“ tmp_ip [0]”。我不知道如何在此forEach循环中获取索引。

String tmp_ip[] = new String[]{};

// print out responding servers
discoverer.getSearchResponses().forEach(r -> 
    tmp_ip[0] = r.getResponse().getPoint().toString()
);

我的第二个问题是,我需要在此forEach循环中进行更多操作,但我不知道如何做。

我尝试过的不起作用的示例:

String tmp_ip[] = new String[]{};

// print out responding servers
discoverer.getSearchResponses().forEach(r -> 
    tmp_ip[0] = r.getResponse().getPoint().toString();
    sout("this is just an test and its called System.out. ... ");
);

我如何(1)在forEach循环中获取索引,以及(2)在该forEach循环中进行更多操作/声明?

答案
  1. 在for-each循环中您无法获得索引/迭代器。

  2. 您正在使用的不是for-each循环,而是.forEach()Stream API终端操作;

  3. 您可以在lambda表达式中引入{}大括号以将多个语句作为一个块。例如forEach(s -> {...});

另一答案
// print out responding servers
discoverer.getSearchResponses().forEachIndexed(i,r -> 
    tmp_ip[i] = r.getResponse().getPoint().toString();
    sout("this is just an test and its called System.out. ... ");
);

以上是关于我如何在每个循环中获取索引,并且如何执行1个以上的操作?的主要内容,如果未能解决你的问题,请参考以下文章

为每个循环迭代 ArrayList 获取 a 的当前索引

如何获取每个 Kotlin 的当前索引

如何获取 lucene 索引中每个术语的帖子列表

如何获取列中多个最小值的索引?

获取数组中最大的字谜组

如何从嵌套的 ForEach 循环中获取连续的索引号?