gpt4 book ai didi

java - 将 HashMap 值变量与其他变量进行比较(Java 8 - Streams)

转载 作者:行者123 更新时间:2023-12-01 16:23:58 24 4
gpt4 key购买 nike

是否可以使用 Java 8 中的流来将该方法编写得更清晰一些?

public static boolean doCompareEmail( UserDataAttribute data )
{

Map<String, User> users = loadUsersByFilter();

for( Map.Entry<String, User> user : users.entrySet( ) )
{
if( user.getKey( ).equals( data.getValue() ) )
{
return !data.getEmail().equals( user.getValue( ).getEmail() );
}
}
return false;
}

最佳答案

使用.anyMatch()

return users.entrySet().stream()
.anyMatch(u -> u.getKey().equals(data.getValue())
&& !data.getEmail().equals(u.getValue().getEmail()));

这里你的 if 条件可以简化为

if( user.getKey().equals( data.getValue()) 
&& !data.getEmail().equals( user.getValue().getEmail()) ){
return true;
}

关于java - 将 HashMap 值变量与其他变量进行比较(Java 8 - Streams),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62196089/

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