java 容器(联系数据结构)
链表List
集合 set
集合的特点:无序 不重复
实现类:
- HashSet:使用被插入对象的Hash码
- LinkedHashSet:HashSet的ordered版本(扩展了顺序,即可以存储有序数据)
- TreeSet:(Huffman)二叉树结构,保证元素的自然顺序进行升序排序
构造方法
- HashSet():构造一个空散列集,其底层 HashMap 实例的默认初始容量是 16
常用方法
增加 删除 清空 看大小
实现类
- HushSet
三个实现类的比较
HashSet
- 不能保证元素的排列顺序,顺序有可能发生变化
- 不是同步的,集合元素可以是null,但只能放入一个null
- 哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放
LinkedHashSet
- 以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;
- 遍历性能比HashSet好,但是插入时性能稍微逊色于HashSet
TreeSet
提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快;
按照字母值排序
队列 Queue
特点
- 队列是一种特殊的线性表,只允许在表的前端(front,队头)进行删除操作,而在表的后端(rear,队尾)进行插入操作 先进先出
- 继承了Collection接口
- LinkList实现了Queue接口
常用方法
- add(E e): 在 队尾增加一个元素。成功时返回true,如果队列已满,则抛出一个IIIegaISlabEepeplian异常
- remove(): 移除并返回队列头部的元素。如果队列为空,则抛出一个NoSuchElementException异常
- Element(): 返回队列头部的元素。如果队列为空,则抛出一个NoSuchElementException异常
- offer(E e): 添加一个元素并返回true。如果队列已满,返回false
- == poll()==: 移除并返问队列头部的元素。如果队列为空,则返回null
- peek(): 返回队列头部的元素。如果队列为空,则返回null
Map接口 (映射 字典Dictionary) 基于Set
映射
- 对象以键-值对(key-value)存储
- key不允许有重复,value允许有重复
Map中元素,可以将key序列、value序列单独抽取出来
- 使用keySet()抽取key序列,将map中的所有keys生成一个Set
- 使用values()抽取value序列,将map中的所有values生成一个Collection
常用方法
- Object put(K key,V value) 增加元素 成对增加
- Object get(Object K) 通过key得到value
- containsKey(Object K) 是否包含
- containsValue(Object v) 是否包含
java 容器(联系数据结构)相关推荐
- Java 容器学习之 HashMap
前言 把 Java 容器的学习笔记放到 github 里了,还在更新~ 其他的目前不打算抽出来作为文章写,感觉挖的还不够深,等对某些东西理解的更深了再写文章吧 Java 容器 目录如下: Java 容 ...
- java 容器_我也来聊聊,JAVA容器与迭代器
java的容器与迭代器是一个老生常谈的话题了. 本文旨在与大家分享一些关于双向链表与迭代器的运用小技巧,并希望本篇文章的内容能够在项目中给你带来帮助. Stack与LinkedList Stack是一 ...
- 后端学习 - Java容器
文章目录 一 简介 二 底层数据结构总结 1 List 2 Set 3 Queue 4 Map 三 Collection 的子接口 List 1 ArrayList 与 Vector 2 ArrayL ...
- 【Java心得总结六】Java容器中——Collection
在[Java心得总结五]Java容器上--容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...
- java compareto方法怎么排序的_很简单却能让你面试头疼得Java容器,这里从源码给你解释清楚
之前在整理Redis的五大数据结构的时候,其中提到了list.set等知识点的时候,就想起来刚上大学那会的青涩时光,抱着一本Java生啃得时候得傻样,跟女朋友交流的时候,她说那你怎么不也顺便整理一下啊 ...
- Java容器-面试题
1. Java 容器都有哪些? Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示: Collection List ArrayList LinkedList V ...
- 《Java程序设计与数据结构教程(第二版)》学习指导
<Java程序设计与数据结构教程(第二版)>学习指导 目录 图书简况 学习指导 第一章 绪论 第二章 数据和表达式 第三章 使用类和对象 第四章 条件和循环 第五章 编写类 第六章 图形用 ...
- Python与Java容器总结
Python与Java容器总结 Python数据容器(5类): 1.List(列表) 2.Tuple(元组) 3.Str(字符串) 数据容器的切片 4.Set(集合) 5.Dict(字典.映射) 数据 ...
- java容器都有哪些
java容器有:ArrayList.LinkedList.Vector.HashSet.LinkedHashSet.TreeSet.LinkedHashMap.TreeMap.ConcurrentHa ...
- java 容器都有哪些?
目录 18.java 容器都有哪些? 19.Collection 和 Collections 有什么区别? 20.List.Set.Map 之间的区别是什么? 21.HashMap 和 Hashtab ...
最新文章
- Codeforces 771C
- Hibernate悲观锁/乐观锁
- Xcode7在运行包含HTTP协议的程序时报错解决方法 App Transport Security has blocked a cleartext HTTP (http)...
- 有效括号 python_python 有效的括号的实现代码示例
- Java顶尖程序员需要看的书
- mysql 5.7 差异备份_MySQL 5.7 新备份工具mysqlpump 使用说明 - 运维小结
- 第三章 MongoDb Java应用 3.1
- setlength java_Java StringBuilder setLength()方法与示例
- Ubuntu MySQL性能_入门系列之在Ubuntu上使用MySQL设置远程数据库优化站点性能
- python 数据比对 函数_用python比对csv文件中的数据
- excel服务器数据同步修改,勤哲Excel服务器同步解决海量数据快速上传问题
- Xen的调度分析 (五) ——关于RTDS调度算法简介
- python中断言方法举例说明_Python中断言Assertion的一些改进方案
- 2019年那些成年人的崩溃瞬间,看着看着就哭了
- android前台服务也被杀,android如何让后台服务service不被杀死(设置前台服务)
- android 面包屑控件,android面包屑導航欄的實現
- 以图搜图-自动生成图模式匹配Cypher
- requests爬虫实践之虎扑步行街主干道帖子数据并保存为txt文件(python实现)
- 怎么在CAD三维图面上添加一长段说明文字?
- 荣耀8怎样修改wifi服务器,手机怎么设置荣耀路由器wifi密码?
热门文章
- 中国工程院院士郑纬民:应鼓励从头研发先进的存储系统软件
- 面向生态合作伙伴的实践分享回顾
- 如何解决大规模高性能存储可靠性问题?
- 3月21日阿里云北京峰会的注册二维码
- 【TWVRP】基于matlab蚁群算法求解带时间窗的多中心车辆路径规划问题【含Matlab源码 112期】
- c语言设计四路彩灯显示系统,数字电路逻辑设计课程设计-四路彩灯显示系统设计...
- ai疾病风险因素识别_克服AI的“蠕动因素”
- 心公正白壁无瑕什么意思?_人工智能可以编写无瑕的代码后,编码会变得无用吗?
- nlu 意图识别_在NLU中,您无视危险的意图
- 机器学习库线性回归代码_PyCaret回归:更好的机器学习库