[英]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.