ArrayList 和 List 提供将只读和固定大小包装返回到集合arraylist与array区别的方法而 Array 不提供另一方面,Array 提供arraylist与array区别了 ArrayList 和 List 所缺少arraylist与array区别的某些灵活性例如可以设置 Array arraylist与array区别的下限,但 ArrayList 或 List 的下限始终为零Array 可以具有多个维度,而 ArrayList 或 List 始终只是一维的特定类型不包括。
一类型差异数组和列表在类型上有明显区别数组是一种固定大小的数据结构,可以包含基本类型和对象类型而列表,尤其是ArrayList,是一种动态数组,可以容纳不同类型的对象ArrayList作为集合类型,其容量可以根据需要动态调整,这使得它在实际应用中非常灵活二元素差异数组和列表在元素类型上也有。
Array的类型限制使其只能存储同构对象,如int只能存放整数,string存放字符串而ArrayList可以存储异构对象,因为内部使用的是Object类型的数组,可以适应不同类型的数据Array的内存是连续的,而ArrayList的元素可能不连续,提供了更大的灵活性Array的大小一旦确定,无法动态改变,不能添加或删除元素。
在Java中,数组和ArrayList的使用场景和效率各有特点数组Array在固定大小下具有较高的效率,但无法动态改变大小而ArrayList提供了动态增长的能力,但牺牲了一定的效率在确保类型安全且数组大小已知时,应优先使用数组当处理更复杂的问题时,ArrayList的灵活性可能更为关键数组作为Java的基本数据。
而对于ArrayList,可以用addObject的形式让它自行管理大小3数组使用的是特殊的语法ArrayList是个普通对象,所以不会有特殊的语法其实ArrayList的底层数据结构就是一个数组,所以在已知所要创建数组需要的长度的前提下,使用数组在性能上可以有一定的提升参考书籍Head First Java。
#160 #160 #160 2 Array只能存储同构的对象,而ArrayList可以存储异构的对象#160 #160 #160 同构的对象是指类型相同的对象,若声明为int的数组就只能存放整形数据,string只能存放字符型数据,但声明为object的数组除外#160 #160 #160 而ArrayList可以存放任何。
1 LinkedList和ArrayList的差别主要来自于Array和LinkedList数据结构的不同ArrayList是基于数组实现的,LinkedList是基于双链表实现的另外LinkedList类不仅是List接口的实现类,可以根据索引来随机访问集合中的元素,除此之外,LinkedList还实现了Deque接口,Deque接口是Queue接口的子接口,它代表一个双向队列。
还没有评论,来说两句吧...