代码小兵124
程序员
ArrayList<E>是一个可动态调整大小的数组,允许null类型的元素。我们知道,Java中的数组大小在初始化时就必须确定下来,而且一旦确定就不能改变,这会使得在很多场景下不够灵活。ArrayList<E>很好地帮我们解决了这个问题,当我们需要一个能根据包含元素的多少来动态收缩伸张的数组时,那么ArrayList<E>正是我们所需要的。我们先来看看这个类的常用方法:1.向集合中添加元素:list.add(需要添加的元素)2.读取集合中的...
我们先来看一下Collection接口的官方定义:Therootinterfaceinthecollectionhierarchy.Acollectionrepresentsagroupofobjects,knownasitselements.Somecollectionsallowduplicateelementsandothersdonot.Someareorderedandothersunordered.TheJDKdoesnotprovideanydirectimpl...
ArrayList和LinkedList都实现了List接口,他们有以下的不同点:ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。与此对应,LinkedList是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)。相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新...
与HashSet集合采用hash算法来决定元素的存储位置不同,TreeSet采用红黑树的数据结构来存储集合元素。TreeSet支持两种排序方式:自然排序、定制排序1.自然排序:TreeSet会调用集合元素的compareTo(Objectobj)方法来比较元素之间的大小关系,然后将集合元素按升序排序,即自然排序。如果试图把一个对象添加到TreeSet时,则该对象的类必须实现Comparable接口,否则程序会抛出异常。当把一个对象加入TreeSet集合中时,TreeSet会调...