不断改变阵列大小

时间:2013-10-07 04:34:14

标签: java android

我有一个字符串数组,但数组中的值不断变化。 除了删除项目和更改索引位置之外,还有其他管理阵列的方法吗?

   public String[] deviceId=null; 
   deviceId=new String[deviceCount];

在我的情况下,deviceCount随着新设备的变化而变化。 所以我不断需要更改数组大小并添加或删除项目

6 个答案:

答案 0 :(得分:1)

您可以使用列表。它会根据您放入的对象数量而改变大小。

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));
}

答案 1 :(得分:1)

使用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);

答案 2 :(得分:1)

您可以使用ArrayLists,而不是使用Arrays。您可以根据需要添加任意数量,而无需重新调整数组大小,一旦不再需要项目,就可以将其删除。以下是ArrayLists概述的链接以及使用它们的一些示例:http://www.tutorialspoint.com/java/java_arraylist_class.htm

希望这有帮助。

答案 3 :(得分:1)

如果您知道设备的最大数量。然后,您可以定义具有最大大小的数组。

String[]  deviceId = new String[MAX_DEVICE_COUNT];

或者只是简单地使用List。

List<String>  deviceId=new ArrayList<String>();

使用数组时不要担心性能。

答案 4 :(得分:0)

- 在Java数组创建时,initialized无论是declared在类级别还是在本地级别。

- 大小定义为array in Java it can't be changed

- 最好使用像List这样的Collection。

- 它可以灵活地添加和删除其中的项目,也可以在列表中所需位置的项目中进行。

- 列表是Java中的Interface,您可以使用其concrete sub classes类似ArrayList,LinkedList..etc。

答案 5 :(得分:0)

不确定我是否正确地提出了问题,但如果大小会动态变化,您可以使用ArrayList或LinkedList。