Java集合面试题2024年4月20记录

一、集合的作用?

集合是可以存储一批类型不同的对象,针对集合的实现类有很多,作用都是一样的,即存储传输数据,但存储的数据结构不一样,其速度、安全性也不一样。

二、集合框架的组成?

1、接口

(1)Collection接口:直接存储:Set,List

(2)Map:键名+键值

2、实现

ArrayList Vector HashSet HashTable

3、算法

实现了很多静态方法,可以对集合进行操作Collections

三、Collection体系?

List(可存储重复的值)

Set(值不可以重复) ArrayList Vector LinkedList HashSet TreeSet

四、List的通用方法?

add()添加元素

remove()删除元素

set()设置元素

indexOf()索引下标

addAll(Collection c) 添加所有元素

removeAll(Collection c)移除所有元素

clone()复制

size()实际元素个数

capacity()最大容量

三种遍历方式:Iterator(迭代器)、Enumeration(序列)、for(循环)

五、ArrayList、Vector、LinkedList的区别?

ArrayList、Vector:以线性表的方式存储,查询、修改快,新增删除慢

Vector:是线程安全,方法是同步方法。

ArrayList:是线程不安全,方法是非同步方法。

LinkedList:单链表,查、改慢,增删快。

六、Set的特点?

不可以有重复值

1、两个对象的比较:对于自定义的类,必须覆盖equals方法。该类型的两个对象比较,只有覆盖了equals方法,才能确定这两个对象是否相同,否则不管相同还是不相同返回都是false.

2、向set集合对象中加入新对象,插入对象的hashCode值与集合中每一个对象的hashCode值比较,若有一个相等,返回false。若都不相同,插入对象与集合中每一个对象比较,若有一个相等,返回false不插入,若都不相同将插入对象加入到集合中

3、在开发中,对于自定义实体必须覆盖toString、hashCode、equals方法

七、Set的遍历方式?

只可以有两种遍历方式:iterator enumeration

HashSet值不可以重复;

TreeSet值夜不可以重复,会自动排序,即然可以排序,集合中对象类型必须相同。

八、Map的接口和特点?

键名 + 键值,键名不可以重复,键值可以重复,通过键名取键值。

HashMap:线程不安全 HashTable:线程安全

九、Collection及Collections的区别?

Collection是集合的根。Collections是算法,特工了静态方法,可以对集合进行操作。

相关推荐
Tigshop开源商城14 小时前
『物流设置+SEO优化』Tigshop开源商城系统 JAVA v5.8.26 版本更新!
java·开源商城系统·tigshop
坚果派·白晓明16 小时前
【鸿蒙PC三方库移植适配框架解读系列】第八篇:扩展lycium框架使其满足rust三方库适配
c语言·开发语言·华为·rust·harmonyos·鸿蒙
花间相见16 小时前
【PaddleOCR教程01】PP-OCRv5 全面指南:从模型架构到实战部署
开发语言·r语言
小短腿的代码世界16 小时前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
Tigshop开源商城16 小时前
『订单税率+收货地址校验国家字段』功能上新|跨境运营更高效,Tigshop开源商城系统 JAVA v5.8.23 版本更新
java·开源商城系统·tigshop
REDcker16 小时前
C++变量存储与ELF段布局详解 从const全局到rodata与nm_readelf验证实践
java·c++·面试
kobesdu18 小时前
【ROS2实战笔记-19】ROS2 生命周期节点的启动顺序、状态转换陷阱与热备方案
java·前端·笔记·机器人·ros·ros2
谙弆悕博士18 小时前
快速学C语言——第16章:预处理
c语言·开发语言·chrome·笔记·创业创新·预处理·业界资讯
neo_Ggx2318 小时前
Maven 版本管理详解:SNAPSHOT、Release 与 Nexus 仓库的区别和影响
java·maven
matlabgoodboy18 小时前
软件开发定制小程序APP帮代做java代码代编写C语言设计python编程
java·c语言·小程序