String[]和List<String>之间的区别

10

就像标题所说,我想知道String[]和ListArray[String]之间的区别,它们在某种程度上是否相同。


1
看起来类似于这个问题。不要被问题标题所迷惑,提问者的意图似乎是“String[]和ArrayList<String>之间的区别”。 - Daniel Miladinov
3个回答

20

数组 String[] 无法扩大其大小。您可以初始化一次并给它一个固定的大小:

String[] myStringArray = new String[20]();
myStringArray[0] = "Test";
一个 ArrayList<String> 是一个可变大小的数组。您可以动态添加和删除项目。
ArrayList<String> myStringArrayList = new ArrayList<String>();
myStringArrayList.add("Test");
myStringArrayList.remove(0);

此外,您可以在使用ArrayList时排序、清除、添加所有元素等等。


这是否意味着String[]和ArrayList<String>都存储相同类型的数据? - HeikiCyan
@HeikiCyan 在这种情况下,两者都存储字符串。 - Ahmad
哪个更有效率 - cammando

9

String[] 是字符串数组,而 ArrayList 是一个通用类,可以接受不同类型的对象(这里它接受 Strings)。因此,您只能使用 String[] 执行常规数组操作。但是,您可以使用额外的方便实用程序,例如 isEmpty(),iterator 等与 ArrayList,因为它还实现了 Collection 接口。


3

ArrayList有一些很棒的方法,如add()、remove()、contains()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接