数据结构概述
1. 什么是数据结构
数据结构,也就是数据的集合,比如我们可以无序地将数据放入一个容器中,也可以有序的排列成一组,还可以制成表等等。
2. 为什么要有不同的数据结构
计算机运行时,必须考虑到计算机的内存与运行速度,因此处理不同数据时,选择合适的数据结构就很重要。并且选择合适的数据结构也能方便程序员进行增删改查操作。
3. 数据结构关系图
Java 集合框架主要包括两种类型的容器:
集合(Collection):存储一个元素集合,
图(Map):存储键/值对映射。
所有的集合框架都包含如下内容:
接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象
实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。
算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。
面试拓展
- Q1 什么是集合?
集合由集合框架和框架中各个部分组成。集合框架是存储数据的容器,其中包含了接口、实现(类)、算法。 - Q2集合的特点
集合的特点主要有两点:
- 对象封装数据,对象多了也需要存储。集合用于存储对象。
- 对象的个数确定可以使用数组,对象的个数不确定的可以用集合。因为集合是可变长度的。
- Q3集合和数组的区别
- 数组是固定长度的;集合可变长度的。
- 数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。
- 数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。
- Q4使用集合框架的好处
- 容量自增长;
- 提供高性能的数据结构和算法,使编码更轻松,提高程序速度和质量;
- 允许不同 API 之间的互操作,API之间可以来回传递集合;
- 可以方便地扩展或改写集合,提高代码复用性和可操作性。
通过使用JDK自带的集合类,可以降低代码维护和学习新API成本。