我有一个带有成员变量的类:
class Filter{
private String key;
private String operator;
private Object value;
}
以下是类型过滤器列表:
[
{
key: status,
operator:equal,
value: active
},
{
key: status,
operator:equal,
value: inactive
},
{
key: name,
operator:equal,
value: jhon
},
{
key: id,
operator:equal,
value: 123
}
]
我想将上述的
List
转换为下面的新List
,其中如果键相同key: status
,则在新列表中只需要一个条目,其值为列表类型value: [active, inactive]
,操作符为IN
。[
{
key: status,
operator:in,
value: [active, inactive]
},
{
key: name,
operator:equal,
value: jhon
},
{
key: id,
operator:equal,
value: 123
}
]
如何最好、最有效地实现这个解决方案,最好使用Java 8流和Lambda?希望避免传统的for循环。