目前有个需求,需要存储一组元素,那么需要用什么来储存呢?
这个会涉及两种情况:
第一种:如果存储的元素以后长度不会变化则使用数组来存储,
第二种:如果长度以后可以会发生改变,则需要使用集合来存储
------------------------------------
集合又以下几种容器,List,Set,Map
List家族是有序的,如果需要存储的元素有顺序则使用这个List,而List集合又有两个实现类如:
ArrayList-------------------------------适合遍历轮询,不适合插入和删除,因为ArrayList底层是数组,常用查询
LinkedList-----------------------------适合插入和删除,这是链表的特点,不适合查询
stack-----------------------------------LIFO后进先出
=========================================
Set家族存储的是无重复元素,需要去重de使用这个Set集合,而Set接口又有HashSet类和TreeSet类
HashSet类:去重的,存储的是无顺序的
TreeSet类:自动去重,还能自动排序
========================================
Map家族是使用key-value方式,通过唯一的key快速找寻value,Map接口有HashMap和TreeMap两个实现类
HashMap:存进去的元素key是无序的,散列表的结构,就是由数组+链表构成,所以HashMap查找速度快,常用存储
TreeMap:存进去的元素key自动排序好的,树状结构,查询速度慢点