String[] 和 listArray<String> 的区别

Posted

技术标签:

【中文标题】String[] 和 listArray<String> 的区别【英文标题】:Differences between String[] and listArray<String> 【发布时间】:2012-11-19 19:07:48 【问题描述】:

如题,想知道String[]和ListArray[String]的区别,是不是有些相同。

【问题讨论】:

看起来类似于this question。不要让问题标题欺骗了你,提问者的意图似乎是“String[] 和 ArrayList 之间的区别” 【参考方案1】:

数组String[] 无法扩展其大小。一旦给它一个永久的大小,你就可以初始化它:

String[] myStringArray = new String[20]();
myStringArray[0] = "Test";

ArrayList&lt;String&gt; 的大小是可变的。您可以动态添加和删除项目:

ArrayList<String> myStringArrayList = new ArrayList<String>();
myStringArrayList.add("Test");
myStringArrayList.remove(0);

此外,您可以在使用ArrayList 时使用排序、清除、添加和更多功能。

【讨论】:

是不是意味着String[]和ArrayList都存储了相同类型的数据? @HeikiCyan 在这种情况下,两者都存储字符串。 哪个效率更高【参考方案2】:

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

【讨论】:

【参考方案3】:

ArrayList 有一些简洁的方法,例如 add()、remove()、contains()

【讨论】:

以上是关于String[] 和 listArray<String> 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Hive 检查数组中的元素并获取索引

C# 泛型问题

mybatis传入listarray等数据集合的处理

Java求两个List的交集

List和ArrayList的区别

JAVA中 List和ArrayList的区别