我有一个字符串数组,但数组中的值不断变化。除了删除项目和更改索引位置之外,还有其他管理数组的方法吗?
public String[] deviceId=null;
deviceId=new String[deviceCount];
在我的情况下, deviceCount 是随着新设备的出现而变化。所以我不断需要更改数组大小并添加或删除项目
您可以使用列表。它会根据您放入的对象数量来改变大小。
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));
}
使用 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);
您可以使用 ArrayLists,而不是使用数组。您可以根据需要向它们添加任意数量,而无需重新调整数组的大小,并且一旦您不再需要某个项目,就可以将其删除。这是 ArrayLists 概述和一些使用它们的示例的链接:http ://www.tutorialspoint.com/java/java_arraylist_class.htm
希望这可以帮助。
如果您知道设备的最大数量。然后你可以定义一个最大大小的数组。
String[] deviceId = new String[MAX_DEVICE_COUNT];
或者简单地使用一个列表。
List<String> deviceId=new ArrayList<String>();
不用担心性能,数组就不用担心了。
-在 Java 中,无论是在类级别还是在本地级别,数组都是initialized
在创建时。declared
-一旦定义了array in Java it can't be changed
.
-最好使用列表之类的集合。
-它具有添加和删除其中项目的灵活性,也可以在列表中所需位置的项目。
- List 是Interface
Java 中的一个,您可以使用它concrete sub classes
,如 ArrayList、LinkedList..etc。
不确定我的问题是否正确,但如果大小将动态变化,您可以使用 ArrayList 或 LinkedList。