今後の参考のために、Google Guava を使用したソリューションを次に示します。
質問の文字列からリストを作成するセットアップ コード:
String stringsString = "String1-1, String5, String6, String1-2, String5, String6, String1-3, String5, String6";
String[] stringsArray = stringsString.split(", ");
Iterable<String> stringsList = Arrays.asList(stringsArray);
次に、不要なアイテムを除外します。
Iterable<String> filtered = Iterables.filter(stringsList, new Predicate<String>() {
@Override
public boolean apply(String input) {
return !input.startsWith("String1-");
}
});
この単純なルーチンは、Iterable
指定した要素のみを含む new を作成します。これの優れた点は、遅延実行され (本当に使用したい場合にのみ評価される)、元のコレクションを変更しないことです。ほとんどの場合、ソフトウェアの状態を不変 (変更不可) にすることが最善の方法です。可変コレクションの処理は難しく、ソフトウェア エラーの原因となることがよくあります。