-5

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

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

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

4

6 回答 6

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));
}
于 2013-10-07T04:41:25.380 回答
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);
于 2013-10-07T04:41:43.283 回答
1

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

希望这可以帮助。

于 2013-10-07T04:41:57.350 回答
1

如果您知道设备的最大数量。然后你可以定义一个最大大小的数组。

String[]  deviceId = new String[MAX_DEVICE_COUNT];

或者简单地使用一个列表。

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

不用担心性能,数组就不用担心了。

于 2013-10-07T04:42:03.510 回答
0

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

-一旦定义了array in Java it can't be changed.

-最好使用列表之类的集合。

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

- List 是InterfaceJava 中的一个,您可以使用它concrete sub classes,如 ArrayList、LinkedList..etc。

于 2013-10-07T04:41:42.580 回答
0

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

于 2013-10-07T04:41:47.540 回答