数组线性表ArrayList和链表类LinkedList
数组线性表类ArrayList和链表类LinkedList是实现List接口的两个具体类,ArrayList用数组存储元素,这个数组是动态创建的。如果元素个数超过了数组的容量,就创建一个更大的数组,并将当前数组中的所有元素都复制到新数组中去,LinkedList在一个链表中存储元素。要选用这两种类中的哪一个依赖于特定需求。如果需要通过下标随机访问元素,但是除了在末尾处之外,不能在其他位置插入或删除元素,那么ArrayList提供了更高效率的集合,但是,如果应用程序需要在线性表的任意位置上插入或删除元素,就应该选择LinkedList类,线性表的大小是可以动态增大或减小的,然而数组一旦被创建,它的大小就是固定的,如果应用程序不需要在线性表中插入或删除元素,那么数组是最高效的数据结构。
ArrayList是一个实现List接口的大小可变的数组。它提供了一些方法,用于管理存储线性表的内部数组的大小,每个ArrayList实例都有它的容量,这个容量是指存储线性表中元素的数组的大小。它一定不小于所存储的线性表的大小,向ArrayList中添加元素时,其容量会自动曾大。不能自动减少
LinkedList是实现List接口的一个链表,除了实现List接口的方法外,这个类还提供从线性表两端提取插入和删除元素的方法;
ArrayList和LinkedList的操作类似,他们最主要的不同体现在内部实现上,内部实现会影响到它们的性能,若要提取元素或在线性表的尾部插入和删除元素,ArrayList的效率比较高。若要在线性表的任意位置上插入和删除元素,那么LinkedList的效率会更高一些;
数组线性表类ArrayList和链表类LinkedList是实现List接口的两个具体类,ArrayList用数组存储元素,这个数组是动态创建的。如果元素个数超过了数组的容量,就创建一个更大的数组,并将当前数组中的所有元素都复制到新数组中去,LinkedList在一个链表中存储元素。要选用这两种类中的哪一个依赖于特定需求。如果需要通过下标随机访问元素,但是除了在末尾处之外,不能在其他位置插入或删除元素,那么ArrayList提供了更高效率的集合,但是,如果应用程序需要在线性表的任意位置上插入或删除元素,就应该选择LinkedList类,线性表的大小是可以动态增大或减小的,然而数组一旦被创建,它的大小就是固定的,如果应用程序不需要在线性表中插入或删除元素,那么数组是最高效的数据结构。
ArrayList是一个实现List接口的大小可变的数组。它提供了一些方法,用于管理存储线性表的内部数组的大小,每个ArrayList实例都有它的容量,这个容量是指存储线性表中元素的数组的大小。它一定不小于所存储的线性表的大小,向ArrayList中添加元素时,其容量会自动曾大。不能自动减少
LinkedList是实现List接口的一个链表,除了实现List接口的方法外,这个类还提供从线性表两端提取插入和删除元素的方法;
ArrayList和LinkedList的操作类似,他们最主要的不同体现在内部实现上,内部实现会影响到它们的性能,若要提取元素或在线性表的尾部插入和删除元素,ArrayList的效率比较高。若要在线性表的任意位置上插入和删除元素,那么LinkedList的效率会更高一些;