web-dev-qa-db-ja.com

javaの既に初期化された配列リストに複数のアイテムを追加します

私はそれをググっていますが、構文を見つけることができないようです。私のarraylistは、ユーザー設定に基づいて異なる方法で設定される可能性があるため、初期化しました

ArrayList<Integer> arList = new ArrayList<Integer>();

そして今、私はarList.add(55);で1つずつ実行せずに100個の整数を追加したいと思います

63
batoutofhell

追加するすべてのアイテムを含む別のリストがある場合は、arList.addAll(otherList)を実行できます。または、常に同じ要素をリストに追加する場合は、すべての値を含むように初期化される新しいリストを作成し、次のようなaddAll()メソッドを使用できます

Integer[] otherList = new Integer[] {1, 2, 3, 4, 5};
arList.addAll(Arrays.asList(otherList));

または、その不要な配列を作成したくない場合:

arList.addAll(Arrays.asList(1, 2, 3, 4, 5));

それ以外の場合は、値をリストに個別に追加する何らかのループが必要になります。

90
scaevity

これらの整数の「ソース」とは何ですか?ソースコードにハードコードする必要がある場合は、次のようにします。

arList.addAll(Arrays.asList(1,1,2,3,5,8,13,21));
25
Adrian Shum

Collections.addAll は、1つのステートメントでコレクションに任意の数のアイテムを追加できる可変引数メソッドです。

List<Integer> list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);

コレクションに配列要素を追加するためにも使用できます。

Integer[] arr = ...;
Collections.addAll(list, arr);
5
Radiodef

スペースを節約するために複数のコード行を避けたい場合、この構文が役に立つかもしれません:

        Java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); 
                add("value2");
            }
        };

新しい行を削除すると、次のように圧縮して表示できます。

        Java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); add("value2"); (...);
            }
        };
3
Fran G Aparicio

多数の整数を追加する必要がある場合は、おそらくforループを使用するのが最も簡単です。たとえば、daysInFebruary配列に28日を追加します。

ArrayList<Integer> daysInFebruary = new ArrayList<>();

for(int i = 1; i <= 28; i++) {
    daysInFebruary.add(i);
}
0
rhino9