Java数据结构List与Map的用法
发表于:2024-10-08 作者:千家信息网编辑
千家信息网最后更新 2024年10月08日,这篇文章主要讲解了"Java数据结构List与Map的用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java数据结构List与Map的用法"吧!1
千家信息网最后更新 2024年10月08日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安全错误
数据库的锁怎样保障安全
美国专利数据库网址
挂账吧网络技术有限公司
网络安全支持服务的考核怎么表述
当你在你的服务器里整蛊玩家
网络安全托管
cf服务器显示器
论文有没有数据库要求
温州市东信网络技术
连接 smb服务器时发生错误
拓林思网络技术青龙电脑城销售部
移动协同设置服务器
速畅华网络技术有限公司
云服务器挂淘宝安全不
重塑软件开发视频
后台可以放服务器吗
物理服务器怎么登录
网络安全与人脸识别的安全性
绍兴制造执行系统软件开发
acssess数据库程序
软件开发都可以面试什么职位
缺少网络安全专业技术人才
数据库安全常用手段
2016国家网络安全五个目标
综合面试 软件开发
网络安全编程课程设计
利用样本模板创建数据库的方法
深圳软件开发人员工资标准
长宁区网络技术
人大金仓数据库 oracle
HPI数据库使用方法