重温Map集合

这周做算法题呢,要用到map集合,脑子里面什么都没有,又复习了一遍。

map集合的常用方法

Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的

添加元素

添加时存在覆盖(如果添加时键存在,那会把后添加的值覆盖之前的值,被覆盖的值进行返回)

根据键删除键值对

map.remove("键");

移除所有键值对元素

map.clear

判断集合是否含有指定键

boolean  valueresult  = m. containsKey("键");

判断集合是否含有指定值

boolean  valueresult  = m. containsValue("值");

判断集合是不是为空

boolean falg = map.isEmpty()

集合的长度

int size = m.size;

获取集合的元素

Map.Entry<Integer,Integer> entry : map.entrySet();

map集合的遍历

1,通过获得键来遍历键和值

Map<String ,String> m = new HashMap<>();

m.put("一斗","阿丑");

m.put("皇女","奥兹");

m.put("安柏","兔兔");

Set<String>  keys  =  m.keySet();

// System.out.println(keys)的结果{一斗,皇女,安柏}

for(String key : keys){  

String value = m.get(key);  

System.out.println(key + " = " + value);

}

2,通过键值对对象进行遍历

Map<String ,String> m = new HashMap<>();

m.put("一斗","阿丑"); m.put("皇女","奥兹");

m.put("安柏","兔兔");

//获得一个有所有键值对对象的Set集合entries

Set<Map.Entry<String,String>> entries = map.entrySet();

//遍历集合entries

for (Map.Entry<String,String> entry : entries){

String key = entry.getkey();

String key = entry.getvalue();

System.out.println(key + " = " + value);

}

3,用lambda表达式遍历

Map<String ,String> m = new HashMap<>();

m.put("一斗","阿丑"); m.put("皇女","奥兹");

m.put("安柏","兔兔");

//lambda表达式遍历

m.forEach(New BiConsumer<String, String>(){

@Override

public void accpect(String key, String value){

System.out.println(key + "=" + value);

}    

});

System.out.println("------------三个一样-------------");

//第一简化:去除内部类

m.forEach((String key, String value)->{

System.out.println(key + "=" + value);

}    

);

System.out.println("------------三个一样-------------");

//第二简化:

m.forEach((key ,value)-> System.out.println(key + "=" + value));

map的常用子类

HashMap<K,V>:

存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

LinkedHashMap<K,V>:

HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

TreeMap<K,V>:

TreeMap集合和Map相比没有特有的功能,底层的数据结构是红黑树;可以对元素的键进行排序,排序方式有两种:自然排序和比较器排序

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容