Java面试题2-集合+数据结构

一、集合

集合的体系

1、集合的特点

集合的特点主要有如下两点:

对象封装数据,对象多了也需要存储。集合用于存储对象。

对象的个数确定可以使用数组,对象的个数不确定的可以用集合。因为集合是可变长度的。

2、集合和数组的区别

1、数组是固定长度的;集合可变长度的。

2、数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存 储引用数据类型。

3、数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同 数据类型。

数据结构:就是容器中存储数据的方式。

3、使用集合框架的好处

  1. 容量自增长;

  2. 提供了高性能的数据结构和算法,使编码更轻松,提高了程序速度和质量;

  3. 允许不同 API 之间的互操作,API之间可以来回传递集合;

  4. 可以方便地扩展或改写集合,提高代码复用性和可操作性

  5. 通过使用JDK自带的集合类,可以降低代码维护和学习新API成本。

4、集合构成

Collection集合主要有List和Set两大接口

1、List:一个有序(元素存入集合的顺序和取出的顺序一致)容器,元素可以重 复,可以插入多个 null元素,元素都有索引。常用的实现类有 ArrayList、LinkedList 和 Vector。

1.1

2、Set:一个无序(存入和取出顺序有可能不一致)容器,不可以存储重复元素, 只允许存入一个 null元素,必须保证元素唯一性。Set 接口常用实现类是 HashSet、 LinkedHashSet 以及 TreeSet。

Map集合一个键值对集合,存储键、值和之间的映射。 Key无序,唯一;value 不要求有序,允许重复。 Map没有继承于Collection接口,从Map集合中检索元 素时,只要给出键对象,就会返回对应的值对象。

Map 的常用实现类:HashMap、TreeMap、HashTable、LinkedHashMap、 ConcurrentHashMap

5、集合框架底层数据结构

Collection

List

1、ArrayList

2、LinkedList

3、Vector

Set

1、HashSet(无序,唯一):基于 HashMap 实现的,底层采用 HashMap 来保存元素

2、LinkedHashSet: LinkedHashSet 继承与 HashSet,并且其内部是通过 LinkedHashMap 来实现 的。有点类似于我们之前说的LinkedHashMap 其内部是基 于 Hashmap 实现一样,不过还是有一 点点区别的。

3、TreeSet(有序,唯一): 红黑树(自平衡的排序二叉树。) Map

4、

相关推荐
java1234_小锋11 小时前
Spring AI 2.0 开发Java Agent智能体 - stream()方法Flux流式响应输出
java·人工智能·spring
庞轩px11 小时前
第四篇:多级缓存架构——Caffeine + Redis + MySQL 三级协同
java·redis·mysql·读写分离·caffeine·本地缓存
阿里嘎多学长11 小时前
2026-05-03 GitHub 热点项目精选
开发语言·程序员·github·代码托管
yqcoder11 小时前
JavaScript 数据类型全景图:从基础到进阶
开发语言·javascript·ecmascript
rKWP8gKv711 小时前
单例模式在Java中的7种实现:从懒汉式到静态内部类
java·开发语言·单例模式
努力努力再努力wz11 小时前
【MySQL进阶系列】一文打通事务机制:从锁、Undo Log 到 MVCC 与隔离级别
c语言·数据结构·数据库·c++·mysql·算法·github
薇茗11 小时前
【初阶数据结构】 左右逢源的分支诗律 二叉树1
c语言·数据结构·算法
澈20711 小时前
C++ string全面解析:从入门到精通
数据结构·c++·算法
xingpanvip12 小时前
星盘接口开发文档:组合三限盘接口指南
android·开发语言·前端·python·php·lua
无忧.芙桃12 小时前
现代C++讲解之变量模板,泛型lambda,函数返回类型推导的使用
开发语言·c++·visualstudio