Java 集合框架-2
2021/9/14 9:04:42
本文主要是介绍Java 集合框架-2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Map集合概述
Map 集合是一种键值对数据的存储方案。
key-value,其中 key 是唯一的 ,而 value 是可以重复的。
Map 是无序存储(Hash)。
Map集合使用
HashMap
HashTable
Properties
TreeMap
构造方法:
HashMap<K, V>()
常用方法:
put(K key, V value) : V 存储/更新(相同键再次调用该方法)键值对数据,返回被替换的值(如果是存储,那么返回的是 null)
get(Object key) : V 根据键获取值
size() : int 获取集合中存储的键值对数量
containsKey(Object key) : boolean 判断集合中是否包含指定的键
containsValue(Object value) : boolean 判断集合中是否包含指定的值
remove(Object key) : V 根据键删除,返回的是被删除的值
keySet() : Set<K> 获取所有键的集合(键是唯一的,所以是Set集合)
entrySet() : Set<Entry<K, V>> 获取所有键值对的集合
Entry
getKey() : K 获取 Entry 中的键
getValue() : V 获取 Entry 中的值
values() : Collection<V> 获取所有值的集合(Map存储,值是无序的,但是可重复,所以是Collection集合)
clear() : void 清空集合中的键值对
...
Map集合的遍历
-
获取所有的键,遍历键根据键获取
Set<String> keySet = map.keySet(); for (String key : keySet) { String value = map.get(key); System.out.println(key + "=" + value); }
2. 获取所有键值对,遍历键值对,从中获取键和值
Set<Entry<String,String>> entrySet = map.entrySet(); for (Entry<String, String> entry : entrySet) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key + "=" + value); }
forEach方法(1.8)
map.forEach((key, value) -> { System.out.println(key + "=" + value); });
Collections工具类
Arrays。
Collection 和 Collections 的区别?(面试题)
Collection 是一个集合的顶级接口,用于存储可重复的,无序的数据
Collections 是一个集合的工具类,里面定义了大量的静态方法,用于更为便捷的操作集合
常用方法:
sort(List<T> list) : void 可以实现对集合的升序排序
min(Collection<? extends T> coll) : T 获取集合中的最小值
max(Collection<? extends T> coll) : T 获取集合中的最大值
everse(List<?> list) : void 反转集合元素
shuffle(List<?> list) : void 打乱集合元素
ArrayList的扩容原理(面试题)
默认仅仅创建集合对象,不存储: 内部的数组会初始化为一个静态常量(空数组)
默认的初始化容量: 10(长度为10的数组)
进行扩容时,每次扩容: 1.5 倍
集合初始化时, 指定集合初始值大小:
如果确定集合要存储的元素个数,那么 ArrayList 在创建对象时,建议指定 initialCapacity 为你要存储的元素个数。
ArrayList<Integer> list = new ArrayList<>(3);
HashMap 使用 HashMap(int initialCapacity) 初始化,如果暂时无法确定集合大小, 那么指定默认值( 16) 即可。 正例: initialCapacity = (需要存储的元素个数 / 负载因子) + 1 。 注意负载因子(即 loader factor) 默认 为 0.75,如果暂时无法确定初始值大小,请设置为 16(即默认值) 。
HashMap<String, String> map = new HashMap<>(16);
这篇关于Java 集合框架-2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?