数据结构_双列集合_Map

Map

因为返回的值涉及到null值,所以返回的值需要使用基本数据类型的包装类来接收。如果使用基本数据类型会发生空指针异常

主要方法:
v put(K key ,V value):往map集合中添加元素,如果集合中已经有对应的key,那么代替value,旧的value作为返回值。如果集合中没有对应的key,那么直接添加,返回的value为空。

v get(Object key):获取集合中对应key的value值,如果不存在该键值对,则返回空。

v remove (Object key) :移除key的键值对,返回该key的value值。如果没有对应的键值对,则返回空。‘

boolean containsKey( Object key):跟get方法一样,判断集合中是否有该键值对

Set keySet() : 返回双列集合的所有键

第一种遍历Map的方式
使用其keySet方法可以返回一个包含所有key的set集合
第一步:使用map的keySet方法返回一个set集合
第二步:使用增强for遍历map中的每个key
第三步:使用map的get方法获取每个key的value值

HashMap

HashMap的用法与HashSet是类似的,
对于自定义类型:
  如果要保证其中的key或value值唯一,那么必须对相应的类重写hashCode() 和 equals() 方法
对于已有的数据类型(基本数据类型或String等):
  已经自己重写了,put时重复会自动替换原来的value值,并将旧的value值返回

###LinkedHashMap
与LinkedHashSet是类似的
有序
不可重复
无索引

HashTable

Java.util.HashTable集合 实现了 Map<K,V>接口

区别
HashTable:底层是哈希表,单线程集合,线程安全,速度慢
HashSet:底层是哈希表,多线程集合,线程不安全,速度快

HashTable:不可以存储null值,null键
     会出现空指针异常
HashSet(包括其它所有集合):可以存储空值

HashTable:和Vector一样,都是在Java1.2之后就被(ArrayList、HashMap)取代了,但其子类Properties依旧较常使用,Properties是唯一一个与IO流相结合的集合,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值