java - 如何获取集合的第二个元素?

标签 java

我有一个 Collection Collection<RECOBeacon> recoBeacons第一个元素通过 RECOBeacon first = recoBeacons.iterator().next(); 获得但我很难获得第二个。我试过RECOBeacon second = first.next();second = first.iterator().next()但这些都不起作用。有人知道如何解决这个问题吗? 谢谢!

最佳答案

如果您使用的是 Java8,则可以使用 Stream:

RECOBeacon second = recoBeacons.stream().skip(1).findFirst().orElse(null);

这个解决方案的好处是 findFirst 返回一个可选值,因此您不必像使用迭代器时那样进行 hasNext 检查。

另请注意,Collection 接口(interface)不保证顺序,因此获取第 n 个元素可能会产生意外结果。

关于java - 如何获取集合的第二个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44041824/

相关文章:

java - 我怎样才能退出这个 while 循环并使其在有人输入 "? quit"时程序将终止

java - 如何使用 JavaFX 检测 Canvas 上的鼠标拖动事件

java - Collection可以用作Hashmap java中的键吗?

java - 为什么 Java 编译器不能正确推断继承?

java - 将 Clojure 添加到 Java 项目时出现问题

java - 将项目从一个表重新插入到另一个表的 SQL 逻辑?例如, Activity 记录变为非 Activity 记录

java - Google Vision API java客户端: how to set API credentials explicitly in code(without using environment variable)

java - Maven 在多模块项目中构建具有依赖关系的 jar

java - 使用java监控unix系统性能

java - JScrollPane (for JTable) 在 MigLayout 中填充和增长