ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java小记——Map

2019-08-20 10:36:53  阅读:149  来源: 互联网

标签:Map java map System value key println 小记


Map类

Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。

	类似于php中:
	$array = array(
    "nihao" =>"shide",
    "tahao"=>"yeshide",
    "dajiahao"=>"doutinghao"   					
	);

方法

方法名称 方法说明
V get(Object key) 返回 Map 集合中指定键对象所对应的值。V 表示值的数据类型
V put(K key, V value) 向 Map 集合中添加键-值对,返回 key 以前对应的 value,如果没有, 则返回 null
v remove(Object key) 从 Map 集合中删除 key 对应的键-值对,返回 key 对应的 value,如 果没有,则返回null
Set entrySet() 返回 Map 集合中所有键-值对的 Set 集合,此 Set 集合中元素的数据 类型为 Map.Entry
Set keySet() 返回 Map 集合中所有键对象的 Set 集合
    • HashMap :按哈希算法来存取键对象

        最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。
        HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 Null。非同步的。
      

      子类

      • LinkedHashMap

          保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用 LinkedHashMap。
        
    • TreeMap

        能够把它保存的记录根据键(key)排序,
        默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的。
        TreeMap不允许key的值为null。非同步的。
      

 @Test
    public void mapTest(){
        Map<String,String> map = new HashMap<String, String>();

        map.put("1","value1");//存值
        map.put("2","value2");
        map.put("3","value3");
        map.put("4","value4");
        map.put("5","value5");
        map.put("6","value6");
        map.put("7","value7");

        //获取值
        System.out.println(map.get("1"));//value1

        //获取map 长度
        System.out.println(map.size()); //7
        //删除
        map.remove("7");
        System.out.println(map.size()); //6

        //获取所有key值
        System.out.println(map.keySet());//[1, 2, 3, 4, 5, 6]

        //获取所有value值
        System.out.println(map.values());//[value1, value2, value3, value4, value5, value6]
       /*
           循环打印
        */
        System.out.println("使用keySet+get");
        for (String key: map.keySet()){
            System.out.println("key="+key+" and value = "+map.get(key));
        }

        System.out.println("使用value");
        for (String v:map.values()){
            System.out.println("value = "+v);
        }

        System.out.println("使用entrySet");
        for (Map.Entry<String,String > entry:map.entrySet()){
            System.out.println("key = "+entry.getKey()+" ,value="+entry.getValue());
        }

        //使用迭代器
        System.out.println("迭代器:iterator ");
        Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry<String, String> entry = iterator.next();
            System.out.println(entry.getKey() + " :" + entry.getValue());
        }

		/*
		使用keySet+get
key=1 and value = value1
key=2 and value = value2
key=3 and value = value3
key=4 and value = value4
key=5 and value = value5
key=6 and value = value6
使用value
value = value1
value = value2
value = value3
value = value4
value = value5
value = value6
使用entrySet
key = 1 ,value=value1
key = 2 ,value=value2
key = 3 ,value=value3
key = 4 ,value=value4
key = 5 ,value=value5
key = 6 ,value=value6
迭代器:iterator 
1 :value1
2 :value2
3 :value3
4 :value4
5 :value5
6 :value6
		*/
    }

标签:Map,java,map,System,value,key,println,小记
来源: https://blog.csdn.net/qq_39176597/article/details/99729619

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有