在java 7中将java 8 lambda表达式转换为列表操作

在java 7中将java 8 lambda表达式转换为列表操作,java,lambda,Java,Lambda,我正在尝试转换这段代码以去掉lambda表达式,这样它就可以在Java7中工作 pausedTriggerGroups.stream(). forEach((group) -> { pausedTriggerGroups.remove(group); }); 我在java7中的代码如下 pausedTriggerGroups.removeAll(pausedTriggerGroups); 这是: triggersByK

我正在尝试转换这段代码以去掉lambda表达式,这样它就可以在Java7中工作

pausedTriggerGroups.stream().
            forEach((group) -> {
              pausedTriggerGroups.remove(group);
        });
我在java7中的代码如下

pausedTriggerGroups.removeAll(pausedTriggerGroups);
这是:

triggersByKey.values(new TriggerByJobPredicate(jobKey))
            .stream()
            .map(v -> (OperableTrigger) v.getTrigger())
            .collect(Collectors.toList());
triggersByKey.values().stream().
            filter((trigger) -> (trigger.jobKey.equals(jobKey))).
            forEach((trigger) -> {
              trigList.add(trigger);
            });
为此:

List<OperableTrigger> result= new ArrayList<>();
    for (TriggerWrapper value : triggersByKey.values()) {
        result.add(value.getTrigger());
    }
for (TriggerWrapper triggerWrapper : triggersByKey.values()) {
        if(triggerWrapper.getTrigger().getJobKey().equals(jobKey)){
            trigList.add(triggerWrapper);
        }
    }
为此:

List<OperableTrigger> result= new ArrayList<>();
    for (TriggerWrapper value : triggersByKey.values()) {
        result.add(value.getTrigger());
    }
for (TriggerWrapper triggerWrapper : triggersByKey.values()) {
        if(triggerWrapper.getTrigger().getJobKey().equals(jobKey)){
            trigList.add(triggerWrapper);
        }
    }

转换良好或有一些错误?

pausedTriggerGroups.removeAll(pausedTriggerGroups)
只是
pausedTriggerGroups.clear()
真的。术语说明:流管道不是lambda表达式。它通常只使用lambda表达式。谢谢,但是转换很好?关于您的第一个代码块:在基于它的流仍然处于活动状态时更改集合可能会给您带来问题。您的第一个代码可能无法与Java 8或Java 7一起工作;在这两种情况下都需要清除()。对于第二个问题,不清楚
newtriggerbyjobpredicate(jobKey)
应该做什么,或者您正在使用什么
values()
来接受谓词。第三次转换很好。
pausedTriggerGroups.removeAll(pausedTriggerGroups)
只是
pausedTriggerGroups.clear()
真的。术语说明:流管道不是lambda表达式。它通常只使用lambda表达式。谢谢,但是转换很好?关于您的第一个代码块:在基于它的流仍然处于活动状态时更改集合可能会给您带来问题。您的第一个代码可能无法与Java 8或Java 7一起工作;在这两种情况下都需要清除()。对于第二个问题,不清楚
newtriggerbyjobpredicate(jobKey)
应该做什么,或者您正在使用什么
values()
来接受谓词。第三次转换很好。