java - 如何在迭代时更新bean

标签 java list guava

我试图在迭代 bean 列表时更新 bean 的属性(如果它满足条件)。为了提高性能,我使用 Lists.transform

private void populate(final WorkFlowDataBean workFlowDataBean, final List<ApplicationDataBean> items) {
        Lists.transform(items, new Function<ApplicationDataBean, ApplicationDataBean>() {
            @Override
            public ApplicationDataBean apply(ApplicationDataBean input) {
                if (String.valueOf(workFlowDataBean.getId().intValue()).equalsIgnoreCase(String.valueOf(input.getWorkflowId().intValue()))) {
                    input.setWorkflowName(workFlowDataBean.getName());
                    input.setWorkflowVersion(workFlowDataBean.getVersion());
                    logger.info("---finally----");
                }
                logger.info(String.valueOf(workFlowDataBean.getId().intValue()) + "===" + String.valueOf(input.getWorkflowId().intValue()));
                return input;
            }
        });

    }

我不能使用 foreach 循环,因为它会减慢我的应用程序的速度。

最佳答案

“我不能使用 foreach 循环,因为它会减慢我的应用程序”在这里是错误的。尝试使用 Lists.transform 根本不会帮助你,因为 A)它没有做你似乎认为它能做的事情,B)这不是做你想做的事情的正确方法do(for-each 循环是),并且 C)您必须迭代 Lists.transform 返回的 List,这不会比 for-each 更快环形。看来您可能认为它更快,因为您的代码实际上没有做任何事情

如果您确实想让速度更快,您可能需要考虑并行化操作。

关于java - 如何在迭代时更新bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29277173/

相关文章:

java - 访问参数化类型的类型参数

java - 密码验证java

r - 选择 R 嵌套列表中的特定列

javascript - 将样式应用于特定的 v-for 元素

java - 将四种方法合二为一

Python从字典中检索所有项目

android - 升级到最新的Android Gradle Plugin AndoidX后Gradle报错

java - Guava 重复键异常 IllegalArgumentException

java - 用于存储原始整数的集合,允许更快的 contains() 和有序迭代

java - 从 TableItem 中检索小部件