【发布时间】:2020-08-14 23:35:09
【问题描述】:
我有这个输入:
Set<List<String>> allSafe = new HashSet<>();
Set<List<String>> allErrors = new HashSet<>();
如何根据 allSafe 过滤 allErrors 的元素?例如,如果我有:
allErrors = [["h","k"],["hi","ho","ha"]]
allSafe = [["h","k"],["sh","ho","ii","oo"],["h","zzz"]]
那么预期的输出应该是:
filteredAllSafe = [["sh","ii","oo"],["zzz"]]
这是我的尝试,但没有按预期工作:它返回空列表集:
public static Set<List<String>> filterSafe(
Set<List<String>> allSafe,
Set<List<String>> allErrors) {
Set<List<String>> filteredSet = allSafe.stream()
.filter(s -> s.contains(allErrors))
.collect(Collectors.toSet());
return filteredSet;
}
【问题讨论】:
标签: java list multidimensional-array set filtering