接口Map<K, V>

一、Map功能

1.添加

put(K key, V value)

putAll(Map<? extends K, ? extends V>);

2.删除

clear()

remove(Object key); 返回对应的值

3.判断

containsKey(Object key)

containsValue(Object value)

isEmpty()

4.获取

get(Object key)  :不在返回null

size()

values();

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

重点:entrySet() 、 keySet();

map集合的两种取出方式

1.keySet : Set<K>:返回此映射中包含的键的set视图

因为Set具备迭代器,所以可以通过迭代方式取出所有的键,再通过get方法,获取每一个键对应的值。

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

map.put();

//先获取键的set集合

Set<String> ks = map.keySet();

//迭代器

Iterator<String> it = ks.iterator();

while(it.hasNext()){

String key = it.next();

String value = map.get(key);

System.out.println(key + “-->”+ value);

}

2.entrySet:  Set<Map.Entry<K, V>>

返回此映射中包含的映射关系的Set视图

Map.Entry:将map集合中的映射关系存入到Set集合中,而这个关系的数据类型就是Map.Enty

//将Map集合中的映射关系取出,存入到Set集合

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

Iterator<Map.Entry<String, String>> it = entrySet.iterator();

while(it.hasNext()){

Map.Entry<String, String> me = it.next();

String key = me.getKey();

String value = me.getValue();

System.out.println(key + “  ” + value);

}

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

Entry也是一个接口,它是Map接口中的一个内部接口

Interface Map

{

public static Interface Entry{

public abstract Object getKey();

public abstract Object getValue();

}

}

class HashMap implements Map

{

class HaHa implements Map.Entry{

public Object getKey(){}

public Object getValue(){}

}

}

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

二、常见的小弟

Hashtable:底层是哈希表数据结构,不可以存入null,它是线程同步的(JDK1.0)  效率低

HashMap:基于哈希表的Map接口,可以使用null,它不是线程同步的。(JDK1.2)  效率高

TreeMap:基于二叉树的,可以用于键排序,不是线程同步。

Set:set底层就是使用了Map集合

三、Map Demo

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

map.put(“1”,”cc”);

sysout(map.containsKey(1));

sysout(map.remove(“1”));

map.get(“1”);//不在返回null

注意:当时HashMap的时候map.put(“abc”,null);

这样是可以的。当HashTable就不可以了。

//values()

获取map集合中所有的值。

map.values();//返回Collection<V>

Collection<String> coll = map.values();

Map接口的学习的更多相关文章

  1. Java集合Map接口与Map.Entry学习

    Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) ...

  2. Java学习笔记32(集合框架六:Map接口)

    Map接口与Collection不同: Collection中的集合元素是孤立的,可理解为单身,是一个一个存进去的,称为单列集合 Map中的集合元素是成对存在的,可理解为夫妻,是一对一对存进去的,称为 ...

  3. Java学习(Map接口)

    一.概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. 1. Collection中的集合,元素是孤立存在的(理解为单身), ...

  4. Java学习--list,set,Map接口使用

    list接口: 泛型:规定list中的元素的类型 /*     *      * 泛型不能使用基本数据类型(可以使用基本类型的包装类)     *      */    public void tes ...

  5. Java学习笔记——Map接口

    Map接口 Map接口 Map接口中键和值一一映射. 可以通过键来获取值. 异常 NoSuchElementException:访问的值不存在 ClassCastException:对象类型错误 Un ...

  6. Java学习:Map接口

    Map集合 Collection接口: 定义了单列集合规范 Collection<E> 每次存储一个元素 单个元素 Map接口:定义了双列集合的规范 Map<K,V> 每次存储 ...

  7. Map接口,Map.Entry,hashMap类,TreeMap类,WeakHashMap。

    Collection接口之前接触过,每次保存的对象是一个对象,但是在map中保存的是一对对象,是以key->value形式保存的. 定义: public interface Map<K,V ...

  8. Java集合之Map接口

    Map使用键值对来存储数据,将键映射到值对象,一个映射不能包含重复的键,每一个键最多只能映射到一个值.Map接口的具体实现类:HashMap,Hashtable,TreeMap,LinkedHashM ...

  9. Java集合中的Map接口

    jdk1.8.0_144 Map是Java三种集合中的一种位于java.util包中,Map作为一个接口存在定义了这种数据结构的一些基础操作,它的最终实现类有很多:HashMap.TreeMap.So ...

随机推荐

  1. C功底挑战Java菜鸟入门概念干货(一)

    一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行.  2.Byte-codes 最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能.  3.使用 ...

  2. 利用路由器搭建受限wifi热点,气死蹭网的坏人~

    很多人的无线路由器都设密码,不在家的时候还会关了,一点互联网分享的精神都没有.我就一直开着无线路由器,也从不设密码,让周围的人可以搜到我的信号,连接成功,我就会很开心.虽然我没有装宽带,但我觉得这已经 ...

  3. YY前端笔试总结

    1.一个元素float以后.为什么要清除浮动?清除浮动的方法有哪些? 浮动确实是经经常使用,也知道清除浮动的必要性.但要我道个所以然,还是得绞尽脑汁.我个人的理解是,当一个元素float以后,就脱离正 ...

  4. ios蓝牙开发(二)ios连接外设的代码实现

    上一篇文章介绍了蓝牙的技术知识,这里我们具体说明一下中心模式的应用场景.主设备(手机去扫描连接外设,发现外设服务和属性,操作服务和属性的应用.一般来说,外设(蓝牙设备,比如智能手环之类的东西), 会由 ...

  5. Sharpui企业版-简单介绍【01】 【QQ群:206378966】

    1. 什么是Sharpui         Sharpui是居于DUI思想的一套界面引擎,採用纯c++开发,实现完整的消息处理机制.渲染引擎分离以及灵活的控件扩展,是一款c++真正意义上的界面和业务逻 ...

  6. linux线程之pthread_join和pthread_detach

    在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死.在 被其他线程回收之前,它的存储器资源(例如栈)是不释放的.相反 ...

  7. 在C语言中基本数据类型所占的字节数

    基本数据类型所占的字节数其实跟C语言本身没有太大的关系,它取决于编译器的位数,下面这张表说明了不同编译器下基本数据类型的长度: 32位编译器中各基本类型所占字节数: 注:对于32位的编译器,指针变量的 ...

  8. 200常用JS

    .文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 &l ...

  9. JQuery中的倒计时

    //一分钟后执行xianshi这个事件 setTimeout(function() {xianshi();}, ); //0.1秒执行一次xianshi这个事件 setInterval(functio ...

  10. JAVA 对象内存分析

    1.jmap -heap pid 或者 jmap -histo pid 2.jmap -dump:file=folder/dumpFileName.txt,format=b pid 3.对3的输出文件 ...