蔡香满屋
站在牛顿头上吃苹果

目前有个需求,需要存储一组元素,那么需要用什么来储存呢?

这个会涉及两种情况:

第一种:如果存储的元素以后长度不会变化则使用数组来存储,

第二种:如果长度以后可以会发生改变,则需要使用集合来存储

------------------------------------

集合又以下几种容器,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自动排序好的,树状结构,查询速度慢点

 

posted on 2019-07-29 22:29  蔡香满屋  阅读(998)  评论(0)    收藏  举报