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? 不存在的!
  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    基于分布式锁解决定时任务重复问题
    基于Redis的Setnx实现分布式锁
    基于数据库悲观锁的分布式锁
    使用锁解决电商中的超卖
  • 原文地址:https://www.cnblogs.com/mrchenyushen/p/15760874.html
Copyright © 2011-2022 走看看