Angenommen, ich habe eine Liste (oder Set):Filter- und Sortierliste google Sammlungen mit
List<String> testList = Lists.newArrayList("assocX","srcT","destA","srcX", "don't care Y", "garbage", "srcB");
Ich mag einen ImmutableList (Set) zurück zu bekommen, dass Sorten/Gruppen Begriffe in natürlicher Reihenfolge, wo Begriffe, die beginnen mit "src" sind zuerst, "assoc" zweite und "dest" zuletzt. Wenn ein Begriff diese nicht enthält, sollte er aus der resultierenden Liste entfernt werden.
Daher ist das Ergebnis hier "srcB", "srcT", "assocX", "destA".
Ich denke, dass ich dies mit einer Kombination von Iterables.Filter oder Predicates tun kann, aber einfach nicht sehen. Es muss eine prägnante Vorgehensweise geben, denke ich.
EDIT: Ein Satz anstelle einer Liste funktioniert auch.
In den anderen Fällen ist es besser, 'IllegalArgumentException() 'als' return 3' zu werfen. –