【发布时间】:2011-01-19 17:58:58
【问题描述】:
假设我有一个列表(或集合):
List<String> testList = Lists.newArrayList("assocX","srcT","destA","srcX", "don't care Y", "garbage", "srcB");
我想取回一个 ImmutableList(Set),它按自然顺序对术语进行排序/分组,其中以“src”开头的术语排在第一位,“assoc”排在第二位,“dest”排在最后。如果一个术语不包含这些,那么它应该从结果列表中删除。
因此这里的结果是“srcB”、“srcT”、“assocX”、“destA”。
我想我可以通过 Iterables.filter 或 Predicates 的某种组合来做到这一点,但只是看不到它。我认为必须有一种简洁的方法。
编辑:代替列表的集合也可以。
【问题讨论】: