面试题常见问题List,Set和Map的区别

本文详细介绍了Java集合框架中List、Set、Map等核心接口的不同实现类的特点与区别,包括ArrayList、LinkedList、Vector、HashMap和HashTable等,并解释了Collection与Collections的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<1>List,Set,Map三种集合的区别:

1.List和Set集合继承自Collection

Map集合不继承Collection

2.List是一种有序(存储顺序)可重复(元素)的集合。

Set是一种无序(存储顺序)不可重复(元素)的集合。

Map是一种以键值对形式存储的集合。

<2>ArrayList和Vector的区别:

1.ArrayList:是线程不安全的,效率高。

2.Vector:是线程安全的。

3.ArrayList和Vector都可以使用for语句或者迭代器遍历,但是Vector还可以使用枚举遍历。

<3>ArrayList和LinkedList的区别:

ArrayList是采用变长数组算法实现的。

LinkedList是采用双向循环链表实现的。

<4>List接口中三个实现类的区别:

LinkedList:采用双向循环链表实现。可以快速执行插入,删除的方法。线程不安全。

ArrayList:采用变长数组算法实现的,特点是:快,线程不安全。

Vector:采用变长数组算法实现的,特点是:慢,线程安全。

<5>HashMap与HashTable的区别:

1.HashMap允许存null键和null值,HashTable不允许存null键和null值。

2.HashMap是线程不安全的,HashTable线程是安全的。

3.HashMap可以采用迭代器遍历集合中的元素,而HashTable既可以使用迭代器,还可以使用枚举遍历。

<6>Collection与Collections的区别:

Collection接口:是集合类的父接口,继承它的接口只要有List和Set

Collections类:针对集合的一个帮助类,它提供了一系列的静态方法对各种集合的搜索,排序等操作。

 

转载于:https://www.cnblogs.com/sujulin/p/9026732.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值