当不知道程序运行时会需要多少对象,或者需要更复杂的方式存储对象时,可以使用Java集合框架
Collection接口:无序、可重复
List接口:有序、可重复
ArrayList实现类:底层是用可变数组存储,如果超出阀值,则新建一个数组替代原来的
(查找方便、增删较慢)
LinkedList实现类:底层是用双向链表存储(增删快、查找慢)
Set接口:无序、不可重复
HashSet实现类:底层是用HashMap的key来进行存储的
没有下标,没有插入顺序(自然顺序,hash值的顺序)
Map接口:存储一组成对的键(key)——值(value)对象,提供key到value的映射
HashMap实现类:底层是用一个Entry<K,V>来存储的,由于HashMap的Key不可重复,因此不可重复(查询指定元素效率高)