IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Collection接口、Map 接口 的集合使用详细介绍 -> 正文阅读

[数据结构与算法]Collection接口、Map 接口 的集合使用详细介绍

Collection 接口,定义保存 单值

在这里插入图片描述

迭代器:集合中的专用遍历方式

Iterator iterator() : 返回此集合中元素的迭代器,通过集合的iterator() 方法得到

迭代器是通过集合的iterator()方法得到,所以我们说它式依赖于集合存在

List 接口 定义保存可重复的单值规范

list集合

  • 有序集合,有索引
  • 允许存储重复的元素
  • 元素存储有序

–ArrayList 实现类 使用数组机制(采用线程不安全机制存储 效率高) 增删慢、查找快

–LinkedList 实现类 使用链表 增删快、查找慢

–Vecter 实现类 使用数组机制(采用线程安全机制存储,效率低)

Set 接口 定义保存不可重复的单值规范

Set集合 特点:

  • 元素存储无序
  • 没有索引、只能通过迭代器或增强for循环遍历
  • 不能存储重复元素

? – HashSet 实现类 哈希算法保存数组

  • 底层数据结构哈希表
  • 不保证存储和取出的元素顺序一致
  • 没有带索引的方法,所以不能使用普通循环
  • 是不包含重复元素的集合

?

? – TreeSet 实现类 排序

  • 元素有序,可以按照一定的规则进行排序,具体排序方式取决于构造方法

    ? --TreeSet():根据其元素的自然排序进行排序

    ? --TreeSet(Comparator comparator) :根据指定的比较器进行排序

  • 没有带索引的方法,所以不能使用普通for循环遍历

  • 由于是Set集合,所以不包含重复元素的集合

? – SortedSet 接口 在Set基础上定义了排序规则

Map 接口 定义保存键值对值规范 双列

Map集合的特点

  • 键值对映射关系

  • 一个键对应一个值

  • 键不能重复,值可以重复

  • 元素存取无序

–HashMap

  • 实现类
  • 通过哈希算法保存数据
  • (线程不安全 效率高 可以添加空值 key == null,value ==null)

–Hashtable

  • 实现类
  • 通过哈希算法保存数据
  • (线程安全 效率低 不可以添加控制 key!=null )

–SortedMap

  • 接口
  • 在map基础上增加了排序

–TreeMap 实现类 排序

集合的选用

主要根据集合的特点来选用,比如我们需要根据键值获取到元素值时就选用 Map 接口下的集合,需要排序时选择 TreeMap,不需要排序时就选择 HashMap,需要保证线程安全就选用 ConcurrentHashMap

当我们只需要存放元素值时,就选择实现Collection 接口的集合,需要保证元素唯一时选择实现 Set 接口的集合比如 TreeSetHashSet,不需要就选择实现 List 接口的比如 ArrayListLinkedList,然后再根据实现这些接口的集合的特点来选用。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:43:11  更:2021-08-21 15:44:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:02:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码