优秀的编程知识分享平台

网站首页 > 技术文章 正文

java中Array与Arrays的区别(数组转list)

nanyue 2024-08-12 22:19:27 技术文章 9 ℃

1.数组类Array

Java中最基本的一个存储结构。

提供了动态创建和访问 Java 数组的方法。其中的元素的类型必须相同。

效率高,但容量固定且无法动态改变。

它无法判断其中实际存有多少元素,length只是告诉我们array的容量。

2、静态类Arrays

此静态类专门用来操作array ,提供搜索、排序、复制等静态方法。

equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。

sort():用来对array进行排序。

binarySearch():在排好序的array中寻找元素。

Arrays.asList(array):将数组array转化为List (此种方法不正规)

注意:

为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码:

Arrays.asList确实会返回一个ArrayList对象,但是该类是Arrays类 中一个私有静态内部类,而不是常见的java.util.ArrayList类。这个java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有任何添加或移除元素的任何方法。因为该类的大小(size)是固定的。为了创建出一个真正的ArrayList,代码应该如下所示:

我们知道,ArrayList的构造方法可以接受一个Collection类型的对象,而我们的 java.util.Arrays.ArrayList正好也是它的一个子类。实际上,更加高效的代码示例是:

(正确的做法是test2和test3的做法)

最近发表
标签列表