• 技术文章 >Java >java教程

    Java Map的基本用法

    (*-*)浩(*-*)浩2019-11-23 17:14:38原创914

    Java Map接口 (推荐学习:java课程

    java-60.png

    java.util.Map 接口 查找表

    Map 体现的结构是一个多行两列的表格,左列称为key
    右列称为value.
    Map 总是根据key来获取对应的value.因此保存数据时是成对保存的,并且应当将查询的数据作为value查询条件作为key进行保存.
    Map要求key 不允许重复(equals 比较判定)

    常用的实现类

    java.util.HashMap,散列表,哈希表

    查询速度最快的数据结构

    基本用法

    public class MapDemo{
    	public static void main(String[] args){
    		Map<String,Integer>map = new HashMap<>();
    		/*
    		 * V put(K k,V v)
    		 * 将给定的key-value对存入Map
    		 * 由于Map要求key不允许重复,所以若
    		 * 使用重复的key存储则是替换value操作
    		 * 那么返回值就是该key原来对应的value
    		 * 若给定的key不存在则返回值为null.
    		 */
    		map.put("攻击",60);
    		Integer value=map.put("攻速",8);
    		System.out.println(value); // null
    		value=map.put("攻速",6);
    		System.out.println(value); // 8 
    		/*
    		 * V get(Object key)
    		 * 根据给定的key获取对应的value
    		 * 若给定的key不存在则返回值为null
    		 */
    		value =map.get("攻击");
    		System.out.println(value);//60
    		/*
    		 * V remove(Object key)
    		 * 删除当前Map中给定的key所对应的键值对
    		 * 返回值为该key对应的value
    		 */
    		value = map.remove("攻击");
    		System.out.println(map);
    		System.out.println(value);
    		/*
    		 * int size()
    		 * 返回Map中的元素个数
    		 */
    		int size = map.size();
    		System.out.println(size);
    		/*
    		 * 判断当前Map是否包含给定的key或value
    		 */
    		boolean ck = map.containsKey("攻速");
    		System.out.println("包含key:"+ck);
    		boolean cv = map.containsValue(96);
    		System.out.println("包含value:"+cv);
    	}
    }

    Map的遍历

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    /**
     * Map的遍历 Map提供了三种遍历方式: 1:遍历所有的key 2:遍历每一组键值对 3:遍历所有的value(相对不常用)
     *
     */
    public class MapDemo2 {
    	public static void main(String[] args) {
    		Map<String, Integer> map 
    						= new HashMap<>();
    		map.put("语文", 99);
    		map.put("数学", 98);
    		map.put("英语", 97);
    		map.put("物理", 96);
    		map.put("化学", 99);
    		System.out.println(map);
    		
    		/*
    		 * 遍历所有的key
    		 * Set keySet()
    		 * 将当前Map中所有的key以一个Set集合
    		 * 形式返回.遍历该集合等同于遍历了所有
    		 * 的key
    		 */
    		Set<String> keySet = map.keySet();
    		for(String key : keySet) {
    			System.out.println("key:"+key);
    		}
    		
    		/*
    		 * 遍历每一组键值对
    		 * Set entrySet()
    		 * 将当前Map中每一组键值对以一个Entry实例
    		 * 存入Set集合并返回.
    		 * 
    		 * java.util.Map.Entry
    		 * Entry的每一个实例用于表示Map中的一组
    		 * 键值对
    		 */
    		Set<Entry<String,Integer>> entrySet 
    						= map.entrySet();		
    		for(Entry<String,Integer> e:entrySet) {
    			String key = e.getKey();
    			Integer value = e.getValue();
    			System.out.println(key+":"+value);
    		}
    	}
    }

    以上就是Java Map的基本用法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:Java
    上一篇:什么是JVM内存模型? 下一篇:java中如何让线程顺序执行
    大前端线上培训班

    相关文章推荐

    • java中数据库数据乱码解决方法• jdk与java的区别• java中的字符串总是出现乱码• java中输入一个字符的方法有哪些

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网