gpt4 book ai didi

java - 过滤器和 for 循环哪个是有效且更好的方法

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:19 24 4
gpt4 key购买 nike

我在 NamAryVar 中有一个类对象列表
我需要检查 String 是否等于列表中 NamCls 的任何 NamVar。
我通过两种方式做到这一点,并得到了想要的结果。
但是
我想知道这两种方法哪个更快、更高效、占用资源更少。

|*|使用for循环:

boolean FndResVab = false;
for(NamCls NamObjIdxVar : NamAryVar)
{
if(NamObjIdxVar.NamVar.equals("SomString"))
{
FndDupVab = true;
break;
}
}

|O|使用列表过滤器:

Boolean FndResVab = NamAryVar.stream()
.filter(IdxVar -> IdxVar.NamVar.equals("SomString"))
.count() == 1;

if(FndResVab)
{
// TskTdo :=> When Found
}
else
{
// TskTdo :=> When Not Found
}

最佳答案

Java 8 流的性能几乎总是比常规迭代差。 Java 中添加了流,以便将函数式编程结构带入语言中,从而为程序员提供便利。易于使用和可维护性是流背后的主要插入力。

看看这篇文章:How Java 8 Lambdas and Streams Can Make Your Code 5 Times Slower

这个问题:Java 8: performance of Streams vs Collections

关于java - 过滤器和 for 循环哪个是有效且更好的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com