是否有可能通过某个比较器获取集合过滤子集,并且父集合及其子集的每次更新都会得到所有更改?
最佳答案
NavigableSet.subSet()调用可能会执行您想要的操作. NavigableSet是一个有序集,它能够创建作为基础集“视图”的子集.这些视图受您提供的值的限制,使用在集合创建时提供的比较器或值的自然顺序.最常见的实现是TreeSet.例如,您可以这样做:
原文链接:/java/437261.html NavigableSet
结果是[a,b,c,d,e]正如您所期望的那样.现在您可以创建一个子集,例如从“b”到“d”包含:
NavigableSet
这里的输出是[b,d].现在,如果向原始集中添加一些元素,这些元素在边界内部和外部,则子集视图将更改为仅包括内部添加的内容:
set.add("a1");
set.add("c1");
set.add("e1");
System.out.println(set2);
输出为[b,c1,d].