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

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

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

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

Q&A

1回答

2087閲覧

【Java】List型を複数の変数に入れ直す方法

JsoHaya

総合スコア17

Java

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

0グッド

1クリップ

投稿2021/05/01 16:15

JavaのListを、複数の変数に入れる方法がわかりません。
for文のindexを使用すれば入れることはできそうですが、lamdaなどでもっと簡潔にかける方法はないのでしょうか。

java

1 2String[] testArray = {"aaa", "bbb", "ccc"}; 3List<String> testList = Arrays.asList(testArray); // ★このリストをtest1,test2,test3に代入したい 4 5String test1; 6String test2; 7String test3; 8 9//このfor文をもっと簡潔に書きたい 10for (int i = 0; i < testList.size(); i++) { 11 if (i == 0) { 12 test1 = testList.get(i); 13 } else if (i == 1) { 14 test2 = testList.get(i); 15 } else if (i == 2) { 16 test3 = testList.get(i); 17 } 18}

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

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

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

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

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

guest

回答1

0

わざわざforでやる意味がありません。

java

1test1 = testList.get(0); 2test2 = testList.get(1); 3test3 = testList.get(2);

投稿2021/05/01 17:19

swordone

総合スコア20669

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

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

JsoHaya

2021/05/02 05:37 編集

すみません、この例だとそうですがリストの要素が3つとは限らない場合の処理を想定していました。いただいた回答だとリストの要素が3つ以下の場合例外になると思いますが何か方法ありませんか?
swordone

2021/05/02 07:18

個別にifとか条件演算子使うとか、方法はいくらでもあるかと思いますが、そうしなければいけない状況にしている今の設計がそもそもダメなのでは?
JsoHaya

2021/05/02 16:17 編集

なるほど、設計がよくないかもです。 想定しているのは、 DBの項目は横持ち(id, 項目1,項目2,項目3)、 リクエストがList型にしているため、DBに格納するため変数にそれぞれ格納したいと考えていました。 DB横持ちではなく縦持ち(id, シーケンス, 項目)のようにすることもできますがidとシーケンスを複合キーにしてだと操作しづらいかな・・・と思ってこのような設計にしました。
javahack

2021/05/02 19:18

横から失礼します。 DBの設計は見直した方が良さそうですが、本題ではないので置いとくとして。 横持ち、縦持ち関係なくListの値を直接SQLに設定すればよいので、わざわざ変数に入れなおす必然性がありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問