• Map接口的使用


    Map接口的使用

    1.Map定义:

      Collection是孤立存在的,向集合中存储元素是一个一个放,Map中的集合 存储是成对,通过键找到值,键和值是映射关系。

    2.注意:

      Map集合中不能包含重复的键,但是可以包含重复的值。

    3.继承关系:

      Map接口不能实例化,HashMap,LinkedHashMap是Map接口的一个实现类,两个方法使用类似。

    4.Map相关的方法:

      添加:put  得到:get  移除:remove

    代码:

      

    复制代码
    public class MapDemo {
        public static void main(String[] args) {
            Map<Integer, String> map = new HashMap<Integer, String>();
            map.put(1, "张三");
            map.put(2, "李四");
            map.put(3, "王五");
            map.put(4, "赵六");
            //键值不允许重复   如果重复  覆盖之前的值
            map.put(4, "小明");
            map.put(10000, "小红");
    //        System.out.println(map);
    //        String s = map.remove(1);
    //        System.out.println(s);
    //        System.out.println(map);
            String s = map.get(4);
            System.out.println(s);
        }
    }
    复制代码

    5.集合遍历的方式:

      调用集合的方法keySet,用Set集合存储Map的键

    复制代码
    public class MapDemo1 {
       public static void main(String[] args) {
        //1 调用集合的方法  keySet     将所有的键  存储到Set集合中
        //2 遍历Set集合  获取所有的键
        //3  调用map集合中get()  获取值
           Map<String, String>  m = new HashMap<String, String>();
           m.put("大哥", "猪大宝");
           m.put("二哥", "猪二宝");
           m.put("三个", "猪三宝");
           Set<String> s = m.keySet();
           Iterator<String> it = s.iterator();
           while(it.hasNext()){
               String key = it.next();
               //通过键  key   获得值
               String value = m.get(key);
               System.out.println(key+":   "+value);
           }
           System.out.println("================================");
           for(String didi:m.keySet()){
               String value = m.get(didi);
               System.out.println(didi+":  "+value);
           }
    }
    }
    复制代码

    6.集合的操作工具:

      Collections.shuffle对集合进行随机排序

    复制代码
    public static void fun1(){
            List<Integer> list = new ArrayList<Integer>();
            list.add(1);
            list.add(12);
            list.add(123);
            list.add(1234);
            list.add(12345);
            list.add(123456);
            System.out.println(list);
            //调用 工具类方法shuffle   对集合进行随机排列
            Collections.shuffle(list);
            System.out.println(list);
        }
    复制代码

      Collections.binarySearch搜索变量

    复制代码
    // Collections.binarySearch   静态方法
        //传递集合   和要搜寻的变量  如果存在返回 下标  不存在返回负数
        public static void fun(){
            List<Integer> list = new ArrayList<Integer>();
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
            int aa = Collections.binarySearch(list, 2);
            System.out.println(aa);
            
        }
    复制代码
  • 相关阅读:
    bzoj千题计划202:bzoj3191: [JLOI2013]卡牌游戏
    bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务
    bzoj千题计划200:bzoj3106: [cqoi2013]棋盘游戏
    bzoj千题计划199:bzoj1055: [HAOI2008]玩具取名
    NOIP2017 小凯的疑惑
    Codeforces 837E. Vasya's Function
    bzoj1084: [SCOI2005]最大子矩阵
    bzoj4247: 挂饰
    Codeforces Round #276 (Div. 1) A. Bits
    bzoj千题计划196:bzoj4826: [Hnoi2017]影魔
  • 原文地址:https://www.cnblogs.com/cuichaobo/p/10681293.html
Copyright © 2020-2023  润新知