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 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Java集合 -> 正文阅读

[数据结构与算法]Java集合

  1. 定义:用于存放对象的引用的容器。
  2. 分类:Set(列),List(集),Map(映射)。
  3. 与数组的区别:(1)数组在定义的时候需声明长度,集合的长度可动态增长;(2)数组只能存放基本数据类型,也可存放引用数据类型,集合只能存放引用数据类型;(3)数组存放的元素必须为同一数据类型,集合存放的对象可不为同一数据类型。
  4. Collection接口:Set接口(HashSet(数组+链表(红黑树),线程安全),LinkedHashSet(Hash表+链表),TreeSet(红黑树)..)和List接口(ArrayList(数组结构,非线程安全性),LinkedList(链表,非线程安全),Stack(栈,线程安全),Vector(线程安全)...)
  5. Map接口:HashMap,Hashtable,TreeMap,ConcurrentHashMap,Properties....
  6. List,Set,Map三者区别?(1)List(有序,可重复,可插入多个null),Set(无序,唯一,只可放入一个null),Map(双列集合,Key无序且唯一)。
  7. TreeSet(),TreeMap(有序,唯一)
  8. HashMap:底层数组+链表,初始容量为16,加载因子为0.75,当链表长度达到8,且数组长度达64,链表变红黑二叉树
  9. 集合的快速失败机制fail-fast:java集合的一种错误检测机制,当多个线程对集合进行结构上的改变操作事,可能会触发。解决方式:遍历过程中对操作共享变量的代码块加锁;拷贝性复制。
  10. 迭代器iterator:Collection接口的实现,用于遍历任何Collection的接口,hasnext()判断是否还有对象,只能单向遍历,更加安全,边遍历编修改,用迭代器的remove()。
  11. Collection接口的子类遍历方式:(1)for循环遍历;(2)迭代器遍历;(3)foreach遍历(内部用到迭代器的方式,不能在遍历过程中,对集合进行操作)
  12. 数组和list的转换:(1)数组转List:Arrays.asList(array);(2)list转数组:List.toArray()
  13. Arraylist和Linkedlist区别:(1)数据结构实现:ArrayList采用动态数组,Linkedlist采用双向链表;(2)随机访问效率:ArrayList效率高于LinkedList;(3)增加和删除效率:在非首尾的增删效率Linked List高于Array List;(4)内存利用率:ArrayList的内存空间利用率高于LinkedList,因为LinkedList需存储一个前驱和一个后驱引用。
  14. ArrayList和Vector区别:(1)线程安全性:Vector使用Synchornize加锁实现线程同步,而ArrayList是非线程安全的;(2)扩容:Vector每次的扩容量是ArrayList的2倍
  15. HashSet和HashMap区别:(1)实现接口:HashSet实现Set接口,HashMap实现Map接口;(2)储存:HashSet储存对象,HashMap储存键值对;(3)添加元素:hashset调用add()方法,hashmap调用put()方法(4)hashcode:hashSet利用对象计算哈希值,hashmap利用key计算哈希值;(5)性能:hahsmap较高于hashset
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:38:08  更:2021-10-18 17:41:04 
 
开发: 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/26 7:40:15-

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