web-dev-qa-db-ja.com

ArrayListを値で宣言する方法

JavaでのArrayListまたはListの宣言 は空のArrayListを宣言する方法に疑問を投げかけましたが、どうすれば値でArrayListを宣言できますか?

私は以下を試しましたが、それは構文エラーを返します:

import Java.io.IOException;
import Java.util.ArrayList;

public class test {
    public static void main(String[] args) throws IOException {
        ArrayList<String> x = new ArrayList<String>();
        x = ['xyz', 'abc'];
    }
}
179
alvas

Java 10+では、次のことが可能です。

var x = List.of("xyz", "abc");

Stream :を使ったJava 8

Stream.of("xyz", "abc").collect(Collectors.toList());

そしてもちろん、 Collection を受け付けるコンストラクタを使って新しいオブジェクトを作成することもできます。

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

ヒント: docs には、通常あなたが探している答えが入っている非常に役に立つ情報が含まれています。たとえば、ArrayListクラスのコンストラクタは次のとおりです。

348
Maroun

つかいます:

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

後でリストに新しい要素を追加したくない場合は、( Arrays.asList を使用して固定サイズのリストを返すこともできます)

List<String> x = Arrays.asList("xyz", "abc");

注:必要に応じて静的インポートを使用することもできます。その場合は次のようになります。

import static Java.util.Arrays.asList;

...

List<String> x = new ArrayList<>(asList("xyz", "abc"));

または

List<String> x = asList("xyz", "abc");
26
Puce

あなたはこのようにすることができます:

List<String> temp = new ArrayList<String>(Arrays.asList("1", "12"));
23
Vimal Bera

Guavaライブラリ にはリストや他のコレクションを作成するための便利なメソッドが含まれています。

例:

ArrayList<String> list = newArrayList("a", "b", "c");

(これはimport static com.google.common.collect.Lists.newArrayList;を想定しています)

11
Lii

これを試して!

List<String> x = new ArrayList<String>(Arrays.asList("xyz", "abc"));

特定のメソッドを呼び出す必要がない場合は、ArrayListをインタフェースListで宣言することをお勧めします。

8
Drogba

これを使う:

ArrayList<String> x = new ArrayList(Arrays.asList("abc", "mno"));
6
Rajendra arora