,可以通过以下步骤实现:
Pair<Integer, Integer> targetPair = pairs.stream()
.min(Comparator.comparingInt(pair -> Math.abs(pair.getFirst() - pair.getSecond())))
.orElse(null);
在上述代码中,我们使用Math.abs方法计算每对的差值,并使用Comparator.comparingInt方法创建一个比较器来比较差值的绝对值。然后,使用min方法找到最小的差值对应的对。如果集合为空,我们使用orElse方法指定一个默认值(这里是null)。
if (targetPair != null) {
System.out.println("最接近的对是:" + targetPair.getFirst() + " 和 " + targetPair.getSecond());
} else {
System.out.println("集合为空,无法找到最接近的对。");
}
这样,我们就可以使用Java streams在集合中查找最接近的对了。
关于Java streams和集合操作的更多信息,可以参考腾讯云的Java开发者指南中的相关章节:Java开发者指南 - 集合操作。
企业创新在线学堂
北极星训练营
云+社区技术沙龙 [第30期]
TC-Day
TC-Day
T-Day
云+社区技术沙龙[第7期]
Elastic 中国开发者大会
API网关系列直播
领取专属 10元无门槛券
手把手带您无忧上云