固定サイズのArrayListを初期化することは可能ですか?それ以上増加しないで、初期占有率を0に初期化することはできますか?実際には通常のArrayのように動作するので、配列サイズまでadd()を使用することができます。最大サイズのArrayListを開始
答えて
あなたは
List<Integer> list = Arrays.asList(new Integer[desiredLength]);
は、すべての要素がnull
に初期化されている固定サイズList<Integer>
を生成するために使用することができます。次にlist.set(index,value)
を使用して、List
の要素を変更できます。 add
を使用することはできません。add
はList
のsize
を変更します。これは固定サイズのリストでは許可されていません。
あなたはnull以外の値にリストを初期化したい場合は、あなたがこのような何か行うことができます。array
通常よりむしろArrayList
のArrayListを使用しないのはなぜ
Integer[] arr = new Integer[desiredLength];
Arrays.fill(arr,0);
List<Integer> list = Arrays.asList(arr);
おそらく最良のアプローチですが、実際のArrayListは生成されません。 –
@DiegoMartinoia実際のArrayList(つまり、java.util.ArrayList)は、OPによって要求されるように固定サイズを持ちません。 – Eran
はい私は知っている:)私はそれがALにそれを割り当てようとする場合にそれを言及する価値があると思ったと –
は、単に基本的に持つ配列ですより多くのアイテムを追加しなければならない状況をサポートします。我々はそれだけで従来のアレイのようなものだよりそのArrayListのサイズを変更していない場合
私はそれを使用したいが、私は5サイズ、すべて割り当てられてarraylistをイニシャルする初期値は0です。最初からいくつかの条件に基づいて1を割り当て、最後に5つのelemnts 1があれば、テストが成功したことを意味します。そうでない場合は、1つのゼロがあるとfalseを示します。 –
通常の 'array'を使うと何が問題になりますか?サイズ5の配列を初期化することができ、初期化時にはすべての値がゼロになり、操作を続行できます。 –
あなたは、唯一のArrayListを使用して、ArrayListのの最小サイズを保証することができます
ArrayList<T> myArrayList = new ArrayList();
myArrayList.ensureCapacity(n);
をしかし、それはしていませんnより大きい固定サイズを設定し、n以上の値を追加することを妨げません。
他の人に言われているように、あなたはおそらく何か他のことをする方が良いでしょう。本当にそれを達成したい場合は、自分のコレクションを書くことができます:
public class MyArrayList<T> {
ArrayList<T> arrayList;
int size;
public MyArrayList(int size) {
this.size = size;
arrayList = new ArrayList<>();
arrayList.ensureCapacity(size);
}
public void add(T x) {
if (arrayList.size() >= size) {
throw new IllegalStateException();
}
arrayList.add(x);
}
//remove, etc.. . You can even extend/implement arrayList/list if you want to do polymorphism.
}
- 1. ArrayListの開始サイズ
- 2. RemoteWebDriver Chrome - 最大化開始
- 3. Node-Webkit - 最大化を開始
- 4. ArrayListを使ったJava開始インスタンス
- 5. ImageViewアクティビティ開始のサイズ
- 6. 最大サイズ - セグメンテーションフォールト
- 7. 最大サイズ
- 8. ダイナモプライマリーキー最大サイズ
- 9. OracleTypes.ARRAYの最大サイズ
- 10. StringBufferの最大サイズ
- 11. アクターキューの最大サイズ?
- 12. スタイルシートの最大サイズ
- 13. SQL Serverの最大行サイズとVarchar(最大)サイズ
- 14. Unstd read()最大サイズ
- 15. /dev/urandom最大サイズ
- 16. Gson JSON最大サイズ
- 17. 計算シェーダを開くにはブール値の最大配列サイズ?
- 18. 1つのCUDAカーネルで開始できるスレッドの最大数
- 19. ArraylistのArrayListのJavaサイズ
- 20. CSSの列の最大サイズ
- 21. ArrayListで最大値を得る方法
- 22. クエリで最大開始日を取得する
- 23. セッション開始(Wordpress Upload)の最大実行時間
- 24. キャンバス要素の最大サイズ
- 25. Scripting.Dictionaryの最大サイズは?
- 26. マトリックスの最大サイズはR
- 27. Azureブロブストレージコンテナディレクトリの最大サイズ
- 28. Python:配列の最大サイズ?
- 29. Androidカーソルの最大サイズ
- 30. SFMLテクスチャの最大サイズ
いいえ、それはありません。これは[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のように聞こえます:あなたは何を達成しようとしていますか?多分束縛されたキューがより適切でしょうか? – assylias
それでは、通常の配列自体を使用しないでください。正確な動機は何ですか? –
LinkedListのような他のarraylistの実装を試してみてください。 – mattymanme