簡體   English   中英

Java在數組中保存3個值

[英]Java holding 3 values in array

我需要一個數組對象,該對象應該包含3個對象。

起初使用Collection ,但是我需要添加到特定位置。 例如:

CollectionObject.add(pos, myObject)

然后我去了ArrayList ,創建了這樣的對象:

ArrayList<MyObject> array = new ArrayList<MyObject>();

創建此數組時,它將創建大小為1的數組,但是我需要添加到位置0-2,因此添加如下內容:

array.add(2, myObject)

我有 :

 java.lang.IndexOutOfBoundsException: Index: 2, Size: 1

我的解決方案是,創建arraylist,向其中添加3個空對象,然后覆蓋,但是還有其他更細微的解決方案嗎? 有沒有更好的數組保存對象,例如Vector或其他東西?

改為使用3個元素組成的數組,如下所示:

MyObject [] array = new MyObject[3];
array[2] = myObject;

ArrayList不是數組,它是使用隱藏數組實現的List 您需要先添加三個項目,然后才能按索引對項目進行尋址,如下所示:

ArrayList<MyObject> array = new ArrayList<MyObject>(3);
array.add(null);
array.add(null);
array.add(null);
array.set(2, myObject)

ArrayList會自動增長。 如果不需要此功能,則可以使用一個普通數組,例如:

MyObject array = new MyObject[] {myObject1, myObject2, myObject3};

現在,您可以使用索引運算符替換項目:

array[2] = newMyObject;
MyObject[] a = new MyObject[3];
a[2] = new MyObject();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM