Java 数组和数组列表-优缺点
在Java中,有数组和ArrayListJava 数组和数组列表-优缺点,java,arrays,arraylist,Java,Arrays,Arraylist,在Java中,有数组和ArrayList // Creation of Array of length 3 Object[] array = new Object[3]; // Creation of ArrayList ArrayList<Object> arrayList = new ArrayList<>(); //创建长度为3的数组 Object[]数组=新对象[3]; //ArrayList的创建 ArrayList ArrayList=新的ArrayLis
// Creation of Array of length 3
Object[] array = new Object[3];
// Creation of ArrayList
ArrayList<Object> arrayList = new ArrayList<>();
//创建长度为3的数组
Object[]数组=新对象[3];
//ArrayList的创建
ArrayList ArrayList=新的ArrayList();
据我所知,数组和ArrayList之间存在某些差异。例如,可以轻松地将条目添加到ArrayList中,但不能使用数组
我发现的另一个区别是ArrayList不能包含原语为什么这很重要,因为我可以轻松地将int转换为整数对象
int[] array = {1,2,3}; // Can't add another entry.
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(4); // Dynamic in size
int[]数组={1,2,3};//无法添加其他条目。
ArrayList ArrayList=新的ArrayList();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(4);//动态尺寸
从我在谷歌上搜索到的内容来看,使用ArrayList而不是普通数组有很多好处,但是ArrayList的缺点是什么,在什么情况下应该使用数组而不是ArrayList?另外,如果使用ArrayList没有缺点,为什么Java开发人员不用ArrayList替换数组?
任何解释都将不胜感激。在我看来,使用
ArrayList
比原始数组的主要优势在于它的大小不受限制,它的API方法以及Java 1.5中对泛型的使用。ArrayList
由一个基本数组支持,因此从技术上讲,如果您想自己维护一整批代码,您可以使用基本数组,但为什么要这样做,而您可能需要的是现成的?此外,由于ArrayList
是一个集合
,除此之外(列表
等),它为您提供了丰富的库函数,包括本机函数和第三方函数
使用
ArrayList
的缺点是创建和维护成本更高。好吧,ArrayList
在幕后为您使用数组,并在数组达到极限时创建一个新数组。在与JNI通信时,我必须使用数组,例如从C/C++库读取数据。请注意,在早期版本的Java中,您不能说ArrayList
(或
或任何其他类型)。只能说ArrayList
,这不提供任何类型安全性。ArrayList
的所有元素都必须是引用类型。否则,ArrayList
可能有原语,并且它不知道它是否包含地址或文字。@Rarw我不会说速度在这里是个大问题。如果不知道要提取多少项,则不应首先使用数组,如果使用ArrayList
,则表示您愿意在内部数组必须增长时接受性能影响。如果是关于访问时间,那么stacktrace中的调用就很少了,因为使用ArrayList
您必须使用get(int index)
方法,毕竟该方法只返回数组[index]代码>(检查上下限后),如果使用常规JVM,成本不会太高。我会使用数组而不是ArrayList
,原因有三:1)基本数组,例如在复制文件内容时,您将使用byte[]
(而不是byte[]
或List
)。2)通过JNI访问其他编程语言的库,例如访问C或C++编写的DLL。3) 编写关键内存占用应用程序,例如起搏器软件。