List和set集合,Map集合的区别以及它们的实现类有哪些?有什么区别?

Java中的集合包括三大类,它们是Set(集)、List(列表)和Map(映射),它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。list和set都继承自collection接口,collection接口声明了不少集合的通用方法。java

Set 不可重复元素 性能

HashSet 快速查找,存取速度快。对象

TreeSet 保存次序的,对集合元素排序。排序

LinkedHashSet 具备查询速度,且按插入的次序排序。继承

List 可重复有次序接口

ArrayList 访问快, 插入移除慢。队列

LinkedList  访问相对慢,插入移除快,可做堆栈、队列、双向队列。hash

Map 键值对io

HashMap 就是使用对象的hashCode()进行快速查询的,可以显着提升性能。List

TreeMap  查看“键”或“键值对”时,它们会被排序。

哈哈,说的比较简洁,须要详细的,请移步