我是靠谱客的博主 无辜母鸡,最近开发中收集的这篇文章主要介绍java map获取泛型_java - map、collections常见方法、泛型上下界,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

将键映射到值得对象

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

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

Map接口和Collection接口的不同

Map是双列的,Collection是单列

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

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

Map 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")

d7f77520de6d0b798b9b9850c6940d58.png

00c16025b5cfbc18045f21d8d140b37b.png

LinkedhashMap 怎么存 怎么取 链表结构

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

b33c6802885113ec8566361a94f726ea.png

hashmap和hashtable的区别:

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

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

hashtable是线程安全的,效率低

hashmap可以存储null键和null值

hashtable不可以存储null键和值

375970f6e7b885f678348d359c25cf1a.png

shuffle 随机排序

泛型上下界:

88de193d971d09a44ccd3fb376ea97cd.png

上界

上界用 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 对象。

最后

以上就是无辜母鸡为你收集整理的java map获取泛型_java - map、collections常见方法、泛型上下界的全部内容,希望文章能够帮你解决java map获取泛型_java - map、collections常见方法、泛型上下界所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部