我有一個字符串數組,但數組中的值不斷變化。 除了刪除項目和更改索引位置之外,是否還有其他方式來管理數組?連續更改數組大小
public String[] deviceId=null;
deviceId=new String[deviceCount];
在我的情況下,deviceCount隨着新設備的出現而變化。 所以我不斷需要更改數組大小並添加或刪除項目
我有一個字符串數組,但數組中的值不斷變化。 除了刪除項目和更改索引位置之外,是否還有其他方式來管理數組?連續更改數組大小
public String[] deviceId=null;
deviceId=new String[deviceCount];
在我的情況下,deviceCount隨着新設備的出現而變化。 所以我不斷需要更改數組大小並添加或刪除項目
使用ArrayList代替的String [] .. 而且你還可以輕鬆地投ArrayList的爲String []爲你的最終輸出爲
ArrayList<String> mStringList= new ArrayList<String>();
mStringList.add("ann");
mStringList.add("john");
String[] mStringArray = new String[mStringList.size()];
mStringArray = mStringList.toArray(mStringArray);
您可以使用列表。它根據您放入的對象數量來更改大小。
List<String> list = new ArrayList<String>;
public static void main(String[] args) {
list.add("string 1"); //Add strings to the list
list.add("string 2");
System.out.println(list.get(0)); //Get the values from the list
System.out.println(list.get(1));
}
-在Java數組initialized
在其創作無論是其declared
在類級別或在地方一級的時間。
-一旦尺寸被定義爲array in Java it can't be changed
。
-它更好地使用集像列表。
-它可以靈活地添加和刪除其中的項目,並且還可以在列表中所需位置的項目上。
-列表是一個Interface
在Java中,你可以使用它的concrete sub classes
像ArrayList,LinkedList..etc。
不知道我是否得到了正確的問題,但你可以使用ArrayList或LinkedList(如果大小將動態變化)。
而不是使用數組,您可以使用ArrayLists。您可以添加儘可能多的數據,而無需重新調整數組的大小,並且一旦不再需要可以刪除的項目。這裏是ArrayLists的概述和使用它們的一些示例的鏈接:http://www.tutorialspoint.com/java/java_arraylist_class.htm
希望這會有所幫助。
如果您知道設備的最大數量。然後你可以定義一個最大尺寸的數組。
String[] deviceId = new String[MAX_DEVICE_COUNT];
否則簡單地去一個列表。
List<String> deviceId=new ArrayList<String>();
不用擔心性能,對於數組來說太重要了。
爲什麼張貼兩次? – flx
是否需要使用數組?如果不使用'動態數組'或'鏈表' – Prateek
我更喜歡使用arrayList – upog