Java 哪种方法更有效,更接近btw滤波器和for循环
我在NamAryVar中有一个类对象列表Java 哪种方法更有效,更接近btw滤波器和for循环,java,performance,for-loop,filter,resources,Java,Performance,For Loop,Filter,Resources,我在NamAryVar中有一个类对象列表 我需要检查字符串是否等于列表中NAMCL的任何NamVar。 我用两种方法来实现这一点,并得到了预期的结果。 但是 我想知道这两种方法中哪一种更快、更高效、使用更少资源 |*|使用for循环: boolean FndResVab = false; for(NamCls NamObjIdxVar : NamAryVar) { if(NamObjIdxVar.NamVar.equals("SomString")) { FndD
我需要检查字符串是否等于列表中NAMCL的任何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
}
Java8流几乎总是比常规迭代执行得最差。这些流被添加到Java中,以将函数式编程结构引入到语言中,从而为程序员提供便利。易用性和可维护性是streams背后的主要动力 看看这篇文章:
还有这个问题:Java8流几乎总是比常规迭代执行得最差。这些流被添加到Java中,以将函数式编程结构引入到语言中,从而为程序员提供便利。易用性和可维护性是streams背后的主要动力 看看这篇文章: 这个问题: