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集合Collection -> 正文阅读

[数据结构与算法]java集合Collection

1.1Collection又派生出来List集合和Set集合,在java1.5以后有派生了Queue队列

1.2List集合下面又派生出

ArrayList,LinkedList,Vector

ArrayList是一个动态数组,也是我最常用的集合,他是允许任何符合规则的元素插入NULL值,每一个ArrayList在创建的时候都有一个初始的容量长度为10,这个容量就代表了数组的大小,每次插入的同时他会自动帮我们进行容量的检查,当快溢出的时候他就会自动帮我们进行扩容操作.ArrayList适合进行随机访问进行查询操作,同时ArrayList是非同步的所以他是线程不安全的

LinkedList也是List接口的另一个实现方式,LinkList还实现了Deque接口,也当做双端队列来使用,也就是说既可以当做栈使用也可以当做队列使用,LinkedList和ArrayList存储机制也是不同的ArrayList内部是以数组的形式保存的集合元素,所以对元素进行随机访问是比较快的,LinkedList内部以链表的形式保存集合中的元素,所以对随机进行查询访问的性能是不如ArrayList的,但是由于他是链表的形式所以他在新增和删除的时候是有比较好的性能的

Vector他与ArrayList结构基本是相似的,但是他是同步的所以他是线程安全的,操作几乎也和ArrayList没有什么区别

1.3Set集合下面又派生出

HashSet,LinkedHashSet,TreeSet

HashSet是Set里面我经常用到的集合,HashSet是按照hash算法来存储数据的,因此有很好的存取和查询性 能,HashSet他是不能保证数据的顺序的,同时HashSet也不是线程同步是,如果多线程要是用HashSet可以用同步代码块来保证他的线程安全问题HashSet是可以存NULL值的

LinkedHashSet他就是HashSet的一个子类他用于HashSet的所有特性,区别就是他是使用链表维护元素的次序,元素的顺序于添加顺序是一致的.由于LinkedHashSet需要维护数据的插入顺序,所以他在存取和查询性能是不如HashSet,但是他在迭代访问是优于HashSet的

TreeSet是可以保证数据处于排序状态的,它采用的红黑树的数据结构来存储集合元素,TreeSet是默认支持两种排序的自然排序和定制排序,默认采用自然排序。

自然排序 TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素的大小关系,然后将元素按照升序排列,这就是自然排序

定制排序是由Comparator对象负责集合元素的排序逻辑。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 12:04:59  更:2022-04-28 12:06:56 
 
开发: 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 6:47:14-

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