文字列の配列を作成したいが、最初はその長さが分からない。配列の長さは多くの要素に依存しますが、文字列や単語を入力すると決定されます。しかし、処理ではそれができません。最初に長さを指定するように求められます。どのように私はこれを取り除くことができますか?すべての助けに感謝します。どんな提案も感謝します。 Amrita最初に長さを指定せずに文字列の配列を作成するにはどうすればよいですか?
答えて
LinkedList構造を使用する必要があります。これにより、コンテナ配列が簡単に拡張され、設定の制限ではなくコンストラクタの初期容量が使用されます。これは、現在の容量を超えるたびに内容をコピーするArrayListよりも効率的です。単純に追加するのではなく、現在の容量を超えます。
ありがとう! LinkedListから要素にアクセスするにはどうすればよいですか?私は正しい構文を知らない。あなたの助けをもう一度ありがとう。 Amrita – Amrita
get(int index)リスト内の指定された位置にあるStringを返します(add(String)を使用して最初の場所に配置します)。 –
ArrayListは、サイズを変更したときにメモリを事前に割り当て、現在の記憶領域のサイズに固定係数(1.2 AFAIR)を掛けているため、その内容をサイズ変更するたびにコピーしません。 –
あなたはArrayListのを使用することができます。http://processing.org/reference/ArrayList.html
私はArrayListのを使用し、必要に応じてサイズを変更することから始めます。 JavaはArrayListのメモリを事前に割り当てているので、すべてのサイズ変更がコンテンツがメモリにコピーされるわけではありません。 ArrayListへのアクセスはLinkedList(O(n)ではなくO(1))よりも高速です。 ArrayListのサイズ変更に時間がかかることが判明した場合にのみ、LinkedListに切り替えると思います。
List<String> strs = new ArrayList<String>();
strs.add("String 1");
strs.add("String 2");
strs.add("String 3");
System.out.println(strs.size()); //3
System.out.println(strs.get(1)); //String 2
何かが必要なすべてです!リサイズやメモリ内の物のコピーなど、何かを心配する必要はありません。リストは必要に応じて拡張されます。パフォーマンスの詳細はすべて処理され、実際の動作に本当に関心がある場合を除き、使用するためにその詳細について読む必要はありません。
Arraylistにあなたが「取得する」アイテムはキャストする必要があることに注意してください。 –
@TimothyGroote Not correct - これがジェネリック医薬品です!もちろん、Java-5以前のJavaを使用していない限り、上記のコードはコンパイルされません。 – berry120
これはProcessing.orgに関する質問です。 processing.orgはまだJava-5をサポートしていますか? –
@ berry120が示唆しているように型付きのArrayListを使用します(そうしないと、常にObjectからStringにキャストする必要があります)。
また、処理に役立つ場合、処理には配列(append()およびexpand()など)を処理する機能があります。 Processing referenceにの配列関数があります。
scenesの背後には、上記の配列関数がSystem.arraycopy()を使用しています(使用している場合)。
- 1. 文字列の長さを150文字に制限するにはどうすればよいですか?
- 2. 文字列の配列に参加するにはどうすればよいですか?最初に空の配列要素を削除しますか?
- 3. 文字列で指定されたフィールドを設定するにはどうすればよいですか?
- 4. C#で固定長バイト配列のユーザータイプを作成するにはどうすればよいですか?
- 5. NSPopupButtonに文字列の配列を設定するにはどうすればよいですか?
- 6. C++/Arduino:文字列/文字配列をバイトに変換するにはどうすればよいですか?
- 7. C#文字列の作成(指定された長さ)
- 8. IPアドレスを8文字の長い文字列にマップするにはどうすればよいですか?
- 9. C#で文字列の各文字の文字列配列を作成するにはどうすればよいですか?
- 10. 同じ配列の最初の文字列に2番目の文字列を追加するにはどうすればいいですか?
- 11. 2次元の動的長さの配列を作成するにはどうすればよいですか?
- 12. Cの文字配列から文字列を取得するにはどうすればよいですか?
- 13. LinkedListの配列を作成し、それらのすべてを空の文字列に初期化するにはどうすればよいですか?
- 14. ディスクに移動せずに文字列をFileStreamにロードするにはどうすればよいですか?
- 15. 文字列配列の特定の部分を印刷するにはどうすればよいですか?
- 16. 文字列と整数を同じ配列に配置するにはどうすればよいですか?
- 17. 配列から文字列を引き出し、最初の文字を確認するにはどうすればよいですか?
- 18. 文字列値で列挙型のオブジェクトを作成するにはどうすればよいですか?
- 19. 配列の日付文字列(MM/dd/yyyy)から最初の2文字を削除するにはどうすればよいですか?
- 20. 配列を最初に渡さずにリストビューのアダプタを作成する
- 21. 文字列と倍精度のtxtファイルから文字列のみの配列を作成するにはどうすればよいですか?
- 22. 文字列の長いハッシュを生成するにはどうすればよいですか?
- 23. 文字列を使用せずに整数を数字の配列に変換するにはどうすればよいですか?
- 24. C#で文字列の最初のn行を削除するにはどうすればよいですか?
- 25. jQueryで配列をループすると、文字列を作成するときに最初に定義されていない値が返されます。
- 26. DateFormat文字列にタイムゾーンを指定するにはどうすればよいですか?
- 27. observablesの配列から配列のobservableを作成するにはどうすればよいですか?
- 28. 最初の上位レベルの文字列を取得するにはどうすればよいですか?
- 29. radgridの文字列の最大長/ radogridの文字列の長さを自動生成列で設定する
- 30. 関数から文字列配列を最初に初期化せずに返します
お願いします。 "どのようなプログラミング言語ですか?" –
答えはあなたが働いている環境によって異なります。あなたは私たちに手がかりを与えなければなりません! –
ああ、申し訳ありません。私はProcessingで働いています。基本的にはJavaです! – Amrita