网站首页 > java教程 正文
集合体系。
提莫 Teemo。
哈喽大家好,我是提莫。
1. 这一集来看一下 Java 中的集合体系。
2. 这节要讲的内容非常简单,就看这一张图就可以了。这里我列出来的 Java 集合体系中的部分的接口和类,这也是平时用的最多的一些类。在这里有一个顶级的接口叫做 Collection 集合。
3. 什么是集合?就是存放一组元素的集合,例如一堆苹果、一堆房子、一堆糖果等等,它是不是都是很多个同类的元素,这种就叫做集合。在下面它又对它进行了两个划分,分别是 List 跟 Set。
4. 这两个分类有什么区别?List 里面是存放一些有序的、可以重复的元素,例如 abcda,这里 a 是不是重复了?如果是用 List 放就可以保存两个 a,并且放进去时候的顺序跟取出来的顺序是一样的。而 Set 里面存放的元素是不能够重复的,它会自动地把那些重复的元素给合并掉,并且存放进去的顺序跟取出来的顺序不一定是相同的。也就说集合下面这两个体系,一个是有序可重复,另一个是无序不可重复。这里注意它们还是接口,是不是不可以直接使用,所以会用它们的实现类。这里主要是这三个实现类。
5. ArrayList 下面分别是 LinkedList 跟 ArrayList,就用的上一节讲的数组来作为它的底层实现。而 LinkedList 的底层就使用的是上节讲的链表来实现。这里回顾一下数组来实现有什么好处?是不是查找快,但是对中间元素的修改或者是删除是很慢的。而链表的查询比较慢,但是对中间元素的修改删除是很快的。
6. 再说一下 Set 的实现类,是 HashSet,但是看它的名称就能看出来,它是通过 Hash 这种结构来实现的。什么是 Hash?在这里 Hash 表又被称为散列表,它是通过 Hash 算法把存进来的元素通过这个算法计算出来一个位置,然后存到对应的位置。在这里简单的画个图,例如这里有一张 Hash 表,每一个元素进来的时候就会去通过 Hash 算法给元素计算得到一个位置,然后就存在这里。存在这里或者是存在这里,当获取元素的时候直接获取它的元素就可以了。但是由于 Hash 算法的原因,所以它存进去的顺序并不一定是按照某种固定的顺序存放,所以到时候取的时候它跟存进去的顺序并不一定相同。
7. 本节主要就是理解集合的体系,它们的顶级接口是不是 Collection?下面分为两个大类,分别是 List 跟 Set。这里需要掌握 List 的优缺点,Set 的优缺点以及 List 有哪几个主要的实现类,Set 有哪些主要的实现类,掌握到这里就可以了。下一节再见。
猜你喜欢
- 2024-11-17 三句话都能解释清楚的java集合类HashSet,你清楚吗?
- 2024-11-17 Java常用的并发集合类(java中的并发是什么意思)
- 2024-11-17 能懂系列之 List 集合详解(list集合的方法)
- 2024-11-17 100个Java工具类之1:多种集合类型实现排序功能
- 2024-11-17 Java 集合体系有什么?(一)(java集合概述)
- 2024-11-17 「软帝学院」java集合类框架,你了解多少?一
- 2024-11-17 面试官问道:关于java集合类你都搞懂了吗?学会怒怼面试官
- 2024-11-17 跟我学编程 5:Java中常见的集合 知多少?
- 2024-11-17 Java多线程环境下使用的集合类示例详解
- 2024-11-17 Java基础知识:集合的概念(一)(java集合概述)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)