zoukankan      html  css  js  c++  java
  • Java进阶核心之集合框架Map下集·18

    • 常见的Map API语法

    常见的Map API语法
    package chapter8_4;
    
    import java.util.*;
    
    /**
     * @ClassName: MapTest
     * @Author: mr.chen
     * @Date:2021/5/2
     * @Version: 1.0
     **/
    public class MapTest {
        public static void main(String[] args) {
            HashMap<String, String> map = new HashMap<>();
    //        {B转转=对象6, C转转=对象4, G转转=对象1, D转转=对象3, A陈煜燊=对象2}
    //        TreeMap<String,String> map = new TreeMap<>();
    //        {A陈煜燊=对象2, B转转=对象6, C转转=对象4, D转转=对象3, G转转=对象1}
    //        LinkedHashMap <String,String> map = new LinkedHashMap<>();
    //        {A陈煜燊=对象2, D转转=对象3, G转转=对象1, B转转=对象6, C转转=对象4}
            // 往map里面放key-value下
            map.put("A陈xx", "对象2");
            map.put("D转转", "对象3");
            map.put("G转转", "对象1");
            map.put("B转转", "对象6");
            map.put("C转转", "对象4");
    
            System.out.println(map);
            System.out.println("==============================");
    
            // 根据key获取value
            String n = map.get("陈xx");
            System.out.println(n);
    
            //判断是否包含某个key
            boolean isContains = map.containsKey("陈xx");
            System.out.println(isContains);
    
            // 返回map的元素数量
            int size = map.size();
            System.out.println(size);
    
            //清空map容器
            map.clear();
    
            //获取所有value的集合
            Collection<String> collection = map.values();
            System.out.println(collection);
    
            //获取所有key的集合
            Set<String> set = map.keySet();
            System.out.println(set);
    
            //返回⼀个Set集合,集合的类型为Map.Entry , 是Map声明的⼀个内部接⼝,接⼝为泛型,定义为Entry<K,V>,
            //它表示Map中的⼀个实体(⼀个key-value对),主要有getKey(),getValue⽅法
            Set<Map.Entry<String, String>> entrySet = map.entrySet();
            for (Map.Entry entry : entrySet) {
                System.out.println("key: " + entry.getKey() + ",values: " + entry.getValue());
            }
            //判断map是否为空
            boolean isEmpty = map.isEmpty();
            System.out.println(isEmpty);
        }
    }
    

    Map⾯试题

    HashMap和TreeMap应该怎么选择

    HashMap可实现快速存储和检索,但缺点是包含的元素是⽆序的,适⽤于在Map中插⼊、删除和定位元素.
    TreeMap能便捷的实现对其内部元素的各种排序,但其⼀般性能⽐HashMap差,适⽤于按⾃然顺序或⾃定义顺序遍历键(key)
    jdk1.7和jdk1.8中HashMap的主要区别
    底层实现由之前的 “数组+链表” 改为 “数组+链表+红⿊树”
    什么时候开始转变
    当链表节点较少时仍然是以链表存在,当链表节点较多时,默认是⼤于8时会转为红⿊树

    Bug? 不存在的!
  • 相关阅读:
    数据处理:并行和性能 狼人:
    GTK+3.0终发布:诸多新特性亮相 狼人:
    微软:Windows 7 SP1将于本月正式发布 狼人:
    程序员的进化 狼人:
    TDD并不是看上去的那么美 狼人:
    Bing API 将新增 Bing 空间数据服务 狼人:
    微软产品组里的十一类人 狼人:
    Windows Phone 7“芒果”更新带来浏览器重大升级:IE Mobile 9 狼人:
    UI前沿技术:XNA颜色滚动程序 狼人:
    传递拷贝php 数组 传递 引用
  • 原文地址:https://www.cnblogs.com/mrchenyushen/p/15760874.html
Copyright © 2011-2022 走看看