質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

4回答

3547閲覧

JAVA 一気に配列に入れたい

earnest_gay

総合スコア615

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/11/26 12:36

java

1EditText edit1 = (EditText) findViewById(R.id.edit1); 2 EditText edit2 = (EditText) findViewById(R.id.edit2); 3 EditText edit3 = (EditText) findViewById(R.id.edit3); 4 EditText edit4 = (EditText) findViewById(R.id.edit4); 5 6 ArrayList<EditText> edits = new ArrayList<>(); 7 edits.add(edit1); 8 edits.add(edit2); 9 edits.add(edit3); 10 edits.add(edit4);

毎回addで詰めていますが、一気に配列に入れるやり方はないのでしょうか。

ArrayList<EditText> edits = edit1,edit2,........

のような、、、

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ArrayListではなくただのListでもいいという場合はArrays.asListでできますし、

java

1List<EditText> = Arrays.asList(edit1, edit2, edit3,edit4);

(あまり意味はない気がしますが、サイズ変更が必要な場合など)ArrayListにしたいという場合にはこれをそのままArrayListにaddAllするか、

java

1ArrayList<EditText> edits = new ArrayList<EditText>(); 2edits.addAll(Arrays.asList(edit1, edit2, edit3,edit4));

ArrayListのコンストラクタに渡すという方法もあります。

java

1ArrayList<EditText> edits = new ArrayList<EditText>(Arrays.asList(edit1, edit2, edit3,edit4));

投稿2016/11/28 01:58

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/28 22:40

ちなみにArrays.ArrayListという別クラスに注意。
swordone

2016/11/29 00:34

いや、そのクラスは不可視なクラスなので問題ないのでは?
退会済みユーザー

退会済みユーザー

2016/11/29 02:39

getClass.getSimpleNameとかで見ると同じ名前になるので一応。
guest

0

ベストアンサー

以下のように

java

1import java.util.*; 2 3import java.util.stream.*; 4class XC{ 5 6public static void main(String[] args){ 7 8List<String> lst =new ArrayList<>(); 9 10String a="123"; 11String b="12356"; 12String c="12389"; 13 14Stream.of(a,b,c).forEach(s->lst.add(s)); 15 16for(String h:lst){ 17System.out.println(h); 18} 19} 20 21 22 23}

連続してaddできるので(上のコードでは順に出力される)
Stream.of(edit1,edit2,edit3).forEach(s->edits.add(s));
で一気に代入できると思います

投稿2016/11/26 13:17

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

earnest_gay

2016/11/26 13:21

Error:(77, 35) エラー: ラムダ式は-source 1.7でサポートされていません (ラムダ式を使用可能にするには、-source 8以上を使用してください) となります、、、
退会済みユーザー

退会済みユーザー

2016/11/26 13:26

以下のようにもできるので edits.addAll(Arrays.asList(edit1,edit2,edit3,edit4)); でもできるのではないかと思います import java.util.*; class XC{ public static void main(String[] args){ List<String> lst =new ArrayList<>(); String a="123"; String b="12356"; String c="12389"; lst.addAll(Arrays.asList(a,b,c)); for(String h:lst){ System.out.println(h); } } }
tantanegg

2016/11/28 01:29

エラー内容通りですが、Java8でコンパイルしてみてください。Java8を使えないならできません。
guest

0

そんなことしてるソースを見たことがありません。
他の方の回答の通りで出来るとは思います。

投稿2016/11/28 01:23

tantanegg

総合スコア213

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

次のようにArrays.asList() を使う方法ならあります。あまり手軽になっていないとは思いますが。

java

1List<UserEntity> list = Arrays.asList( 2 new UserEntity("userid","username") 3 , new UserEntity("userid2","username2") 4 , new UserEntity("userid3","username3") 5);

投稿2016/11/26 13:52

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問