跳到主要内容

Java 集合面试题

一、集合容器概述

1. 什么是集合

  • 集合就是一个放数据的容器,准确的说是放数据对象引用的容器
  • 集合类存放的都是对象的引用,而不是对象的本身
  • 集合类型主要有3种:set(集)、list(列表)和map(映射)。

2. 集合的特点

  • 集合的特点主要有如下两点:
  • 集合用于存储对象的容器,对象是用来封装数据,对象多了也需要存储集中式管理。
  • 和数组对比对象的大小不确定。因为集合是可变长度的。数组需要提前定义大小

3. 集合和数组的区别

  • 数组是固定长度的;集合可变长度的。
  • 数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。
  • 数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。

4. 使用集合框架的好处

1、 容量自增长;

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

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

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

5. 常用的集合类有哪些?

  • Map接口和Collection接口是所有集合框架的父接口:

1、 Collection接口的子接口包括:Set接口和List接口;

2、 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等;

3、 Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等;

4、 List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等;

6. List,Set,Map三者的区别?

file

  • Java 容器分为 Collection 和 Map 两大类,Collection集合的子接口有Set、List、Queue三种子接口。我们比较常用的是Set、List,Map接口不是collection的子接口。