1. ホーム
  2. java

[解決済み] 1要素のアレイリストを素早く便利に作成する方法 [重複]について

2022-03-23 22:43:50

質問

これを1行でできるUtilityメソッドはどこかにあるのでしょうか?のどこにも見当たりません。 Collections または List .

public List<String> stringToOneElementList(String s) {
    List<String> list = new ArrayList<String>();
    list.add(s);
    return list;
}

派手なリムを付けるつもりでなければ、車輪の再発明はしたくありません。

そうですね...型は T であり String .しかし、あなたはポイントを得ることができます。(NULLチェックや安全性のチェックなど)

どのように解決するのか?

サイズ固定 List

私が知る限り、最も簡単な方法は、固定サイズの単一要素を作成することです。 List Arrays.asList(T...) のように

// Returns a List backed by a varargs T.
return Arrays.asList(s);

バリアブルサイズ List

サイズを変更する必要がある場合は ArrayList と、固定サイズの List のように

return new ArrayList<String>(Arrays.asList(s));

で、(Java 7+ では) ダイヤモンド演算子 <> を作ると

return new ArrayList<>(Arrays.asList(s));

単一要素リスト

コレクションは単一の要素を持つリストを返すことができ、リストは不変である。

Collections.singletonList(s)

この利点は、IDE のコード分析で単一要素の asList(...) 呼び出しについて警告されないことです。