宗策

导航

Map 查找表操作

package seday13;

import java.util.HashMap;
import java.util.Map;

/**
* @author xingsir
 * java.util.Map  查找表,Map是java中非常经典的数据结构之一
 * Map的结构看起来像是一个多行两列的表格,其中左列称为:Key,右列称为:Value
 * Map总是以Key-Value对的形式保存数据的。并且Map提供了根据Key获取其对应的Value的查找方法。
 * Map有一个要求:Key是不允许重复的(Key的equals方法决定)
 * 常用实现类:java.util.HashMap
 * HashMap称为散列表或哈希表,使用散列算法实现的Map,是当今世界上查询速度最快的数据结构。其查询速度不受数据量影响,现如今所有网站的缓存都是用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中若给定的Key在当前Map中已经存在,则是替换value
         * 操作,那么返回值就是原K“ey对应的Value否则返回值为null
         */
        Integer num=map.put("JAVA",99);
        System.out.println(num);
        map.put("C#", 98);
        map.put("C++", 97);
        map.put("PYTHON", 96);
        map.put("ORACLE", 99);
        System.out.println(map);
        num = map.put("JAVA", 89);
        //num = map.put("JAVA", 89);
        System.out.println(map);
        System.out.println(num);
        
        /*
         * V get(Object key)
         * 根据给定的key获取对应的value,若给定的key在,Map中不存在,则返回值为null。
         */        
        num =map.get("C#");
        System.out.println("C#:"+num);
        num=map.get("C++");
        System.out.println("C++:"+num);
        //获取集合总条数
        int size=map.size();
        System.out.println("size:"+size);
        /*
         * V remove(Object key)
         * 删除给定的key所对应的键值对,返回值为该key对应的value。
         */
        num = map.remove("ORACLE");
        System.out.println(map);
        
        /*
         * boolean containsKey(Object key)
         * boolean containsValue(Object value)
         * 判断当前Map是否包含给定的key或value,是否包含还是依据元素自身equals比较的结果
         */
        boolean ck=map.containsKey("PYTHON");
        System.out.println("包含key:"+ck);
        
        boolean cv =map.containsValue("99");
        System.out.println("包含Value:"+ck);
    }

}

posted on 2020-01-09 10:21  宗策  阅读(1539)  评论(0编辑  收藏  举报