zoukankan      html  css  js  c++  java
  • java

    Map接口概述:  map集合是不可以直接迭代的

      将键映射到值得对象

      一个映射不能包含重复的键

      每个键最多只能映射到一个值

    Map接口和Collection接口的不同

      Map是双列的,Collection是单列

      Map的键是唯一的, Collection的子体系Set是唯一的

      Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效

     Map<String, Integer> maps = new HashMap<>();
    // 添加元素        maps.put("A", 10);   没有key值A,就返回null。 原来存在A就返回被覆盖的value值
    // 修改元素        maps.replace("F", 65); 
    // 删除元素        maps.remove("E");
    // 是否包含key maps.containsKey("E")
    // 是否包含value maps.containsValue(100)
    // 返回所有key   maps.keySet() 是set
    // 返回所有value maps.value()    collection
    // 返回map的size maps.size()
    // 根据key获取value maps.get("key")

    LinkedhashMap 怎么存 怎么取  链表结构

    TreeMap: 需要重构比较器,痛TreeSet一样

    hashmap和hashtable的区别:

      共同点:底层都是hash算法 都是双链集合

      区别:hashmap是线程不安全的,效率高

         hashtable是线程安全的,效率低

         hashmap可以存储null键和null值

         hashtable不可以存储null键和值

    
    

    shuffle 随机排序

    泛型上下界:

      

    上界

    上界用 extends 关键字声明,表示参数化的类型可能是所指定的类或者其任意子类。泛型的上界就是 B 类。

    形如 List<? extends B>,具体哪一种不能确定,既可以是 B,也可以是 C。在尝试执行 add() 方法时,List中的类型不能确定是具体哪一种,所以会编译报错。在执行 get() 方法时,不管是 B 还是 C,都可以以 A 类对象来接收。所以 List<? extends B> 不能添加元素,具有只读属性,只能获取。


    下界

    下界用 super 关键字声明,表示参数化的类型可能是所指定的类型或者其任意父类。泛型的下界就是 B 类。

    形如 List<? super B>,具体哪一种不能确定,既可以是 B,也可以是 A,直至 Object类。在尝试执行 add() 方法时,虽然 List 的具体类型不能确定,但是根据多态, B 类及其子类的对象肯定都可以被赋值给 B 的对象,所以只能添加 B 类及其子类的对象。在尝试执行 get() 方法时,List 中的类型是 B 类或者其父类的具体一种,向上直至 Object 类,所以只能将获取的元素赋值给 Object 对象。





  • 相关阅读:
    eclipse如何把多个项目放在一个文件夹下【eclipse中对项目进行分类管理】-图示详解
    hibernate中cache二级缓存问题
    Java处理正则验证手机号-详解
    Java处理手机号中间4位替换成*
    WPF:依赖属性的应用
    WPF:自定义路由事件的实现
    WPF:类型转换器的实现
    MFC中CString转化为char*
    Android4.4 往短信收件箱中插入自定义短信(伪造短信)
    OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常
  • 原文地址:https://www.cnblogs.com/pengranxindong/p/9984263.html
Copyright © 2011-2022 走看看