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'];
}
}
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
クラスのコンストラクタは次のとおりです。
初期容量10の空のリストを作成します。
ArrayList(Collection<? extends E> c)
(*)
指定されたコレクションの要素を含むリストを、コレクションの反復子によって返される順序で作成します。
ArrayList(int initialCapacity)
指定された初期容量で空のリストを作成します。
つかいます:
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");
あなたはこのようにすることができます:
List<String> temp = new ArrayList<String>(Arrays.asList("1", "12"));
Guavaライブラリ にはリストや他のコレクションを作成するための便利なメソッドが含まれています。
例:
ArrayList<String> list = newArrayList("a", "b", "c");
(これはimport static com.google.common.collect.Lists.newArrayList;
を想定しています)
これを試して!
List<String> x = new ArrayList<String>(Arrays.asList("xyz", "abc"));
特定のメソッドを呼び出す必要がない場合は、ArrayList
をインタフェースList
で宣言することをお勧めします。
これを使う:
ArrayList<String> x = new ArrayList(Arrays.asList("abc", "mno"));