java集合框架collection

Posted Mars.wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合框架collection相关的知识,希望对你有一定的参考价值。

根据《java编程思想》里面的说法,java集合又叫容器,按照单槽和双槽分为两类,Collection和Map,这两个都是接口。

一、Collection

Collection下面又分了三个子接口,分别是Set,List和Queue,他们的特性分别是:

1.Set:元素唯一,即Set中的元素永远不可能重复,跟数学中的集合概念是一样的。它的所有实现类都有相同的特征。

主要实现类有三个:HashSet,LinkedHashSet,TreeSet

  • HashSet的底层实现是HashMap中的key,因此它的特点是无序不重复;
  • LinkedHashSet底层实现是LinkedHashMap,特点是元素变得有序了。这里的有序指遍历顺序和插入顺序相同。
  • TreeSet的底层实现是TreeMap,也是有序的,这里的有序指按照元素本身的大小排序,对于Integer、String,本身已经实现了Comparable接口,所以他们是可比较的。开发者自定义的对象,需要自己实现Comparable接口,以方便程序执行元素的比较。

2.List:有序,List是有序可重复的,这里的有序也是只遍历顺序和插入顺序相同。最常用的实现类:

  • ArrayList底层实现是数组,所以查询效率高,增删效率低;
  • LinkedList底层实现是链表,长于插入删除,查询效率低。

3.Queue:队列,特点是先进先出,只允许在队列前端删除,队列后端插入,常用实现类PriorityQueue.

二、Map

如果说数组和List实现了下标和元素对象的映射,那么Map就实现了对象和对象之间的映射。

主要实现类:HashMap,LinkedHashMap和TreeMap

HashMap的底层使用了哈希表,可以实现快速的查找。

LinkedHashMap最大的特点是key值有序了,遍历顺序和插入顺序相同。

TreeMap的底层是红黑树,新插入的元素会跟Map中原有元素进行比较,并插入到该插入的位置。TreeMap中对象,必须实现Comparable接口。

以上是关于java集合框架collection的主要内容,如果未能解决你的问题,请参考以下文章

Java集合框架--Collections工具类的使用 & Java集合框架总结

Java:集合,Collection接口框架图

38java的集合框架(容器框架)

Java集合: 集合框架Collection和Map

java的集合框架

java集合框架Collection