java map 使用场景_java之List,Set,Map使用场景

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

这个会涉及两种情况:

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值