Java中Map集合的一些简单实现类及其方法

一些简单的Map集合:

Map集合:双列集合

java.util.Map<K,V>集合

将键(Key)映射到值(Value)的对象,一个映射不能包含重复的键,每一个键最多只能映射一个值。

常用实现类及其方法
HashMap<K,V>集合

java.util.HashMap<K,V>集合 implements Map<K,V>接口

HashMap特点:

  1. HashMap集合底层是哈希表:查询速度快

    (jdk1.8之前:数组+单向链表)/(jdk1.8之后:数组+单向链表/红黑树(链表的长度超过8)):为了提高查询速度

  2. HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致。

LinkedHashMap<K,V>集合

LinkedHashMap<K,V>集合 extends HashMap<K,V>集合

LinkedHashMap集合的特点:

  1. 集合底层是哈希表+链表:保证元素有序。
  2. 是一个有序的集合,存储元素和取出元素的顺序是一致的。

常用方法:

public V put(Object key)方法:添加指定的值到map集合当中

  1. 返回值:v
  2. 储存键值对的时候,key不重复,返回值v是null
  3. 储存键值对的时候,key重复,则会使用新的value替换map中重复的value,返回被替换的value值
private static void show01() {
	Map<String,String> map = new HashMap<>();
    String v1 = map.put("古力娜扎","迪丽热巴");
    System.out.println("v1:"+v1);
    System.out.println(map);
}
/*
v1:null
{古力娜扎=迪丽热巴}
*/

public V remove(Object key)方法:删除指定键值在集合中的元素的值

  1. 返回值:V
  2. key存在,value返回删除的值
  3. key不存在,value返回null
private static void show02() {
        Map<String,Integer> map = new HashMap<>();
        map.put("me",21);
        map.put("迪丽热巴",28);
        map.put("古力娜扎",29);
        System.out.println(map);

        Integer v1 = map.remove("古力娜扎");
        System.out.println("v1返回值:"+v1);
        System.out.println(map);
    }
/*
{迪丽热巴=28, me=21, 古力娜扎=29}
v1返回值:29
{迪丽热巴=28, me=21}
*/

public V get(Object key)方法:通过key来获取value

  1. 返回值:V
  2. key存在,返回对应的value值
  3. key不存在,返回null
private static void show03() {
        Map<String,Integer> map = new HashMap<>();
        map.put("迪丽热巴",28);
        map.put("古力娜扎",29);
        Integer g1 = map.get("迪丽热巴");
        System.out.println("g1:"+g1);
    }
/*
g1:28
*/

boolean containsKey(Object key):判断集合中是否包含指定的键

  1. 返回ture、false
  2. 包含返回ture
  3. 不包含返回false
private static void show04() {
        Map<String,Integer> map = new HashMap<>();
        map.put("迪丽热巴",28);
        map.put("古力娜扎",29);
        boolean b1 = map.containsKey("迪丽热巴");
        System.out.println(b1);
        boolean b2 = map.containsValue(27);
        System.out.println(b2);
    }
/*
true
false
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值