メソッドを使用ArrayList()
して、ユーザー入力から配列に文字列を追加する方法はありますか? JTextBox から特定の入力を入力するようユーザーに求めるプログラムがあり、この入力を配列に格納したいと考えています。
私は学生なので、単純な回答よりもヒントと説明が好まれます。
前もって感謝します!
メソッドを使用ArrayList()
して、ユーザー入力から配列に文字列を追加する方法はありますか? JTextBox から特定の入力を入力するようユーザーに求めるプログラムがあり、この入力を配列に格納したいと考えています。
私は学生なので、単純な回答よりもヒントと説明が好まれます。
前もって感謝します!
ArrayList() メソッドを使用して、ユーザー入力から配列に文字列を追加する方法はありますか?
短い答えはノーです。配列には固定数の要素があります。要素を追加する唯一の方法は、新しい配列を作成することです。この制限は Java 言語と JVM の基本であり、巧妙に回避する方法はありません。
ArrayList
Hvgotcodes で説明されているようにを使用できますが、それには新しい配列の作成が必要です。
より直接的な方法は、Arrays.copyOf(...)
メソッドの 1 つを使用して新しい配列を作成し、追加の要素を追加することです。例えば
String[] bigger = Arrays.copyOf(strings, string.length + 1);
bigger[bigger.length - 1] = extraString;
ArrayList
メソッドではなくクラスです。文字列を配列に入れたい場合は、追跡する必要があります
1) 配列のサイズ、または入力できる値の妥当な上限。
2) 現在のインデックス
入力した文字列を配列に入れるだけです。
String[] strings = new String[SOME_MAX];
...
strings[currentIndex] = userEnteredString;
これには、配列のサイズを前もって知る必要があるという欠点があります。
そうでない場合は、List
実装を使用できます。
List<String> strings = new ArrayList<String>();
次に、add
メソッドを使用して文字列を追加します。
配列を取り戻すには、次のことができます
strings.toArray()
これには明らかに、最後に配列しか取得できないという欠点があるため、プロセス全体で配列を使用する必要がある場合は受け入れられません。