java.util包中提供了一些集合类,我们把这些集合又称之为容器。
容器与数组的区别:1.数组的长度是固定的 ,而容器的长度是可变的
2.数组用来存放一些基本数据类型,而容器用来存放对象的引用。
List:有序可重复的集合。
List接口的常用实现类有ArrayList 和LinkedList.
ArrayList:它的底层实现了可变的数组,允许保存所有的元素,包括null;并可以根据索引 的位置快速的随机访问,缺点是向指定的索引位置插入对象(add(int index,element))或者删除对象(remove())的速度比较慢。
LinkedList:它的底层实现是链表结构。这种结构的优点 是便于向集合中插入和删除对象,需要访问集合中的元素,LinkedList类实现的效率较低。
补充:(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐。链表是根据next指针找到下一个元素,方便插入和删除)
从内存存储来看
1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦
List的一些常用方法:可自行查询javaAPI文档
package CollectionDemo;
import java.util.ArrayList;
impo