Java数据结构List与Map的用法
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章主要讲解了"Java数据结构List与Map的用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java数据结构List与Map的用法"吧!1
千家信息网最后更新 2024年11月27日Java数据结构List与Map的用法
这篇文章主要讲解了"Java数据结构List与Map的用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java数据结构List与Map的用法"吧!
1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程安全,效率低 LinkedList 底层数据结构是链表,查询慢,增删快 线程不安全,效率高 Set(无序,唯一) HashSet 底层数据结构是哈希表(实际上是一个HashMap实例)。 哈希表依赖两个方法:hashCode()和equals() 执行顺序: 首先判断hashCode()值是否相同 是:继续执行equals(),看其返回值 是true:说明元素重复,不添加 是false:就直接添加到集合 否:就直接添加到集合 最终: 自动生成hashCode()和equals()即可
LinkedHashSet 底层数据结构由链表和哈希表组成。 由链表保证元素有序。 由哈希表保证元素唯一。 TreeSet 底层数据结构是红黑树。(是一种自平衡的二叉树) 如何保证元素唯一性呢? 根据比较的返回值是否是0来决定 如何保证元素的排序呢? 两种方式 自然排序(元素具备比较性) 让元素所属的类实现Comparable接口 比较器排序(集合具备比较性) 让集合接收一个Comparator的实现类对象Map(双列集合) A:Map集合的数据结构仅仅针对键有效,与值无关。 B:存储的是键值对形式的元素,键唯一,值可重复。 HashMap HashMap是Java 1.2引进的基于哈希表Map接口的一个非同步实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)。 此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 底层数据结构是[数组+链表]组成的。线程不安全,效率高 哈希表依赖两个方法:hashCode()和equals() 执行顺序: 首先判断hashCode()值是否相同 是:继续执行equals(),看其返回值 是true:说明元素重复,不添加 是false:就直接添加到集合 否:就直接添加到集合 最终: 自动生成hashCode()和equals()即可 LinkedHashMap 底层数据结构由双向循环链表和哈希表组成。 由链表保证元素有序。 由哈希表保证元素唯一。 Hashtable Hashtable是基于陈旧的Dictionary类,完成了Map接口。线程安全,效率低 哈希表依赖两个方法:hashCode()和equals() 执行顺序: 首先判断hashCode()值是否相同 是:继续执行equals(),看其返回值 是true:说明元素重复,不添加 是false:就直接添加到集合 否:就直接添加到集合 最终: 自动生成hashCode()和equals()即可 TreeMap 底层数据结构是红黑树。(是一种自平衡的二叉树) 如何保证元素唯一性呢? 根据比较的返回值是否是0来决定 如何保证元素的排序呢? 两种方式 自然排序(元素具备比较性) 让元素所属的类实现Comparable接口 比较器排序(集合具备比较性) 让集合接收一个Comparator的实现类对象
2.关于集合选取原则
是否是键值对象形式: 是:Map 键是否需要排序: 是:TreeMap 否:HashMap 不知道,就使用HashMap。 否:Collection 元素是否唯一: 是:Set 元素是否需要排序: 是:TreeSet 否:HashSet 不知道,就使用HashSet 否:List 要安全吗: 是:Vector 否:ArrayList或者LinkedList 增删多:LinkedList 查询多:ArrayList 不知道,就使用ArrayList 不知道,就使用ArrayList
3:集合的常见方法及遍历方式 Collection: add() remove() contains() iterator() size()
遍历: 增强for 迭代器 |--List get() 遍历: 普通for |--SetMap: put() remove() containskey(),containsValue() keySet() get() value() entrySet() size() 遍历: 根据键找值 根据键值对对象分别找键和值
感谢各位的阅读,以上就是"Java数据结构List与Map的用法"的内容了,经过本文的学习后,相信大家对Java数据结构List与Map的用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
元素
数据
数据结构
结构
保证
底层
哈希
排序
安全
接口
效率
线程
顺序
对象
方法
比较性
查询
有序
相同
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
防范化解网络安全风险项目
数据库运维是做什么的
怎样搭建vpn服务器
天长云服务器
信安网络技术
刀片服务器 有硬盘吗
网络安全法所处的法律地位
网络安全等级保护2 0
网络安全法第138条
数据库讲坛
郑州鼎创网络技术有限公司
计算机三级网络技术知识
复兴区网络安全委员
中学学校网络安全培训
mysqc数据库版本号
软件开发论文的参考文献
西宁市软件开发
安全数据库的作用
基于数据融合的网络安全态势感知
跨数据库外键
数据库和逻辑有哪些
网络安全课题研究个人总结
软件开发面试书籍推荐
服务器外接硬盘镜像
软件开发基本计划
在线抓娃娃软件开发
南浔软件开发
焦作大学计算机网络技术
用友安装数据库不符合
蚂蚁金服网络技术有限公司浙江