zoukankan      html  css  js  c++  java
  • Map集合

    /*
    Map集合:该集合存储键值对,成对出现,而且要保证键值的唯一性。
    	1、添加
    		put(K key, V value)
    		putAll(Map<? extends K,?extends V> m )
    	2、删除
    		clear()
    		remove(Object key)
    	3、判断
    		containsKey(Object key)
    		containsValue(Object value)
    		isEmpty()
    	4、获取
    		get(Object key)
    		size();
    		values()
    重点取出防方法:
    1、Set<Map.Entry<k,v>>  entrySet():将M安排集合中的映射关系存入到set集合中,而关系的类型就是Map.Engtry
    2、keySet():将Map中所有的键存入Set集合,因为Set集合具有Iterator,所以可以通过迭代方式取出所有的键,
    			然后根据get方法获取每个键值的值.
    		Map集合的原理,就是转换为Set集合,通过迭代器
    Map:
    1、Hashtable“此类实现一个哈希表数据结构,不可以存空键和空值。线程同步(JDK1.0出现)效率低
    2、HashMap<K,v>:底层是哈希表数据结构,并允许使用空键和空值,该集合不同步。效率高
    3、TreeMap:底层是二叉树,线程不同步,可以用于给map集合中的键值排序。
    
    和Set集合很像,Set底层就是用了Map集合。
    
    */
    import java.util.*;
    class  MapDemo
    {
    	public static void main(String[] args) 
    	{
    		Map<String,String> map = new HashMap<String,String>();
    		//  添加值,如果出现相同的键,则后添加的覆盖前面的,且put方法返回被覆盖的值。
    		map.put("1","zhangsan");
    		map.put("2","ljads");
    		map.put("3","fads");
    		System.out.println("containsKey:" + map.containsKey("2"));
    		//System.out.println("remove:" + map.remove("2"));
    		System.out.println("get:" + map.get("2"));        //键值不存在返回空null,注意HashMap中键值或值为空,获取都是返回null
    
    		//  先获取map集合中的所有键值的Set集合
    		Set<String> pSet =map.keySet();
    		//有了Set集合,获取迭代器
    		Iterator<String> it =pSet.iterator();
    		while(it.hasNext())
    		{
    			//通过get方法获取值
    			System.out.println(map.get(it.next()));
    		}
    
    		//将Map集合的关系取出,存入Set集合中
    		Set<Map.Entry<String,String>> entrySet = map.entrySet();
    		Iterator<Map.Entry<String,String>> pIt = entrySet.iterator();
    		while(pIt.hasNext())
    		{
    			Map.Entry<String,String> mn = pIt.next();
    			String key = mn.getKey();
    			String value = mn.getValue();
    			System.out.println("key:" + key + "  value:" + value);
    		}
    	}
    }
    
    /*
    Map.Entry中Entry也是一个借口,它是Map接口中的一个内部接口
    */
    interface Map
    {
    	public static interface Entry
    	{
    		public abstract Object getKey();
    		public abstract Object getValue();
    	}
    }
    

  • 相关阅读:
    mem 预留内存
    关于内核反汇编,同时显示源文件
    读些笔记
    platform设备驱动
    glut 右键子菜单
    获取HINSTANCE
    window窗口样式style
    opengl 直线拾取
    glut弹出式菜单
    读取大恒采集卡c++代码
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258491.html
Copyright © 2011-2022 走看看