Java 8流过滤器按键列出对象排除列表中的键并获取字符串

问题描述

我想从ID包含在另一个ID列表中的列表中排除对象,并获取字段名称的字符串。" Care,Safe"

示例:

public interface Selectable {
     Long getId();
     String getName();
}

我有一个list<Selectable> tenants

id,name
34,"House"
35,"Care"
36,"Villa"
37,"Safe"

和另一个List<Long> idTenantsWithAlerts

id
34
36

我需要结果字符串 tenantsNoAlerts "Care,Safe"

我对Java8流没有太多的经验,所以我尝试了相同的过滤器,映射和归约...但是没有运气。

解决方法

您可以依次过滤Id,然后依次过滤mapcollect,并使用联合收集器来减少{em {1}}到Stream

String