文章目录

  • 集合(Listset and Treeset)
  • 集合时间复杂度分析
  • Treeset的局限性
  • 映射(Map)
  • Map与Set

集合(Listset and Treeset)

概念:就是不存储重复元素的数据结构,可以通过动态数组或链表以及二叉搜索树实现,实现时主要在add方法做一个判断是否是已有元素即可,如果是重复元素,可以考虑用新的覆盖旧的,也可以什么都不干。如果是二叉搜索树实现,则所有接口功能都可以由二叉搜索树自己的函数实现

集合时间复杂度分析

链表实现集合:添加删除搜索都是O(n)
红黑树实现集合:添加删除搜索都是O(logn),效率大大提高

Treeset的局限性

虽然用链表或数组实现的listset性能比用红黑树实现的Treeset低很多,但是使用Treeset有一个前提条件,就是红黑树(二叉搜索树)里加进去的元素必须具有可比较性!而链表或数组就没有这种要求




映射(Map)

映射是一种数据结构,就类似现实生活中的字典,通过一个大写字母A,可以找到以A开头的一个元素。而映射就是通过Key找到一个Value,这个Key和Value都是我们自己定义的,但是注意每一个Key一定是唯一的
而映射同样可以通过动态数组,链表,二叉树多种方式实现,我们把Key和Key对应的Value值一般存在同一个结点里

Map与Set

2021-10-16 集合(set)与映射(map) 恋上数据结构笔记相关推荐

  1. 《恋上数据结构第1季》映射 TreeMap,HashMap,LinkedHashMap

    映射 Map Map的接口定义 Map.java 红黑树 RBTree 实现 TreeMap TreeMap 分析 哈希表实现 HashMap HashMap 升级为 LinkedHashMap 数据 ...

  2. 《恋上数据结构第1季》集合 ListSet、TreeSet、HashSet

    集合(Set) 集合的接口定义 双向链表 LinkedList 实现 ListSet 红黑树 RBTree 实现 TreeSet TreeMap 实现 TreeSet HashMap 实现 HashS ...

  3. Day19-22 2021/10/13-16 JAVA贪吃蛇 全注释版

    Day19-22 2021/10/13-16 贪吃蛇 帧:如果时间足够小 就是动画 键盘监听 定时器 Timer package snale; import javax.swing.*; /*** @ ...

  4. 2021年大数据常用语言Scala(二十二):函数式编程 映射 map

    目录 映射 | map 用法 案例一 案例二 映射  map 集合的映射操作是将来在编写Spark/Flink用得最多的操作,是我们必须要掌握的.因为进行数据计算的时候,就是一个将一种数据类型转换为另 ...

  5. js中数据结构数组Array、映射Map、集合Set、对象、JSON

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js中数据结构 js中原生自带的数据结构比较简单,主要有数组Array.映射Map.集合Set.我们可以根据这三个基本数据结构实 ...

  6. 1-6 集合\第7节 Collections工具类\第8节 Map集合

    这里写自定义目录标题 P27418_Collections集合工具类的方法_addAll&shuffle P27519_Collections集合工具类的方法_sort(List) P2770 ...

  7. Python 最近两条好消息:①TIOBE排名超过C和Java②新版本发布3.10.0,还有今天刚发布的《What’s New in Python(2021.10.15)》

    来自TIOBE的最新10月份统计数据显示,Python首次超越Java.JavaScript.C语言等,成为最受欢迎的编程语言.TIOBE过去20年一直在追踪编程语言的受欢迎程度,其数据来自于对25个 ...

  8. leetcode刷题记录2:进度64, 2021.10.23

    文章目录 数组的度(题目编号697:[link](https://leetcode-cn.com/problems/degree-of-an-array/)) 二叉搜索树(题目编号700:[link] ...

  9. Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)

    概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括: 第1部分 Map概括 第2部分 HashMap和Hashtable异同 第3部分 HashMap和WeakHashMap异 ...

最新文章

  1. Linux 内核,30 年C 语言将升级至 C11
  2. 读书笔记:人月神话的博客积极的心态读后感
  3. wxWidgets:添加控件
  4. 使用MVCPager做AJAX分页所需要注意的地方
  5. 突破100万年薪《多线程服务器端架构》
  6. mysql 5.6.22编译_saltstack全编译安装mysql5.6.22
  7. windows 显示苹果分区_基准测试数据显示苹果M1运行Windows的表现比微软自家硬件好上近一倍...
  8. 【NOI2004】【洛谷P1486】郁闷的出纳员(Splay写法)
  9. C - Copying Books (POJ - 1505)
  10. 文件大小超过配置限制(2560000),代码洞察功能不可用怎么办?
  11. uniapp区分不同平台
  12. CCNA学习指南 第七章 下载
  13. Java程序员年薪40W是什么水平?税前还是税后?
  14. Client-Initiated场景下的L2TP实验配置
  15. 5oSf6KeJ5Lul5ZCO5Y+v5Lul55SoYmFzZTY05Yqg5a+G6ZqP56yU
  16. Task01 文件处理与邮件自动化
  17. 美国大学计算机专业排名2014,2013-2014USNews美国大学计算机工程专业研究生排名...
  18. Java中随机数的产生
  19. E. Pencils and Boxes codeforces(思维+dp)
  20. php cookie 加密解密,php 使用base64加密、解密cookie的示例

热门文章

  1. php跳转隐藏url参数,.htaccess从URL中删除index.php并隐藏参数键
  2. Hyperledger Fabric 智能合约实战 (3) 安装fabric
  3. 深度探索C++ 对象模型(2)-类的对象的内存大小
  4. 设计模式--享元(Flyweight)模式
  5. 【django】配置MySQL数据库【3】
  6. ElemenUi搜索数据时如何重置输入框的内容
  7. 密码学基础知识(九)密钥管理
  8. linux 中ans 用法,JSON简介以及用法汇总
  9. JAVA_IO流四大家族(1)
  10. 来看看CDN网络安全防护的方案