java有什么集合?
集合的概念:用于存储数据的数据类统称为集合。
java的集合可以分两种,Collection和Map。它们都是java集合框架的接口。
- Collection
表示一组对象的集合。常用实现类:-
List
List是一种有序可重复的集合,常见的List实现类有ArrayList和LinkedList。
ArrayList和LinkedList的区别:ArrayList LinkedList 底层实现机制 采用动态数组数据结构 采用双向链表的数据结构 插入和删除操作 在插入和删除时需要移动其他元素位置,时间复杂度是O(n) 在插入和删除时只需要修改指针的指向,因此时间复杂度为O(1) 随机访问操作 可以通过下标直接访问元素,时间复杂度是O(1) 需要从头开始遍历,时间复杂度是O(n) 综上所述,当需要频繁插入和删除元素时,LinkedList比ArrayList更为适合;当需要频繁随机访问元素时,ArrayList比LinkedList更为适合。
-
Set
Set是一种不允许重复元素的集合,元素无序。常见的Set实现类有HashSet和TreeSet。 -
Queue
用于表示按照一定顺序排列的元素集合。Queue提供了各种各样的方法。可以实现元素的入队和出队操作。
-
- Map
表示一组键值对的集合,可以通过键来访问值,每个键对应一个唯一的值,但键的集合不保证顺序和唯一性。常见的Map实现类有HashMap和TreeMap。
Java什么情况下用什么集合?
- 如果需要大量的查找使用ArrayList,因为数组能够随机访问,效率高。
- 如果存储的集合有先进先出的特点,则使用Queue。
- 如果数据是一对一的,使用Map。
- 如果要求数据不重复,使用Set。