Java里的集合--主要区别

Posted PersistWp

tags:

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

  Collection 集合接口,指的是 java.util.Collection接口,是 Set、List 和 Queue 接口的超类接口。

List:

  List是关注事物索引的列表。

  List中可以有重复元素。

  List中可以有null值。

  List用来存放同一类型的数据,只能一个一个存放,不能存放键值对。

  List是有顺序的存储。

  List主要用到Vector,ArrayList,LinkedList

  Vector:是基于array的List,在array的基础上添加了一些功能,是线程安全的

  ArrayList:是基于array的List,非线程安全的

  LinkedList:不是基于array的List相当于C++中的链表,它每一个节点都包含两方面的内容:1.节点本身的数据;2.下一个节点的信息。所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动。

  因此vector ArrayList适用于查询,Linkedlist适用于添加删除

set:

  set实现基础是map。

  set存储键值对格式数据。

  set不允许重复。

  set主要用到HashSet,LinkedHashSet,TreeSet。

  HashSet:无顺序。

  LinkedHashSet:HashSet的子类,是一个链表,插入顺序排列。

  TreeSet:自然顺序排列。

Queue:

  Queue用于保存将要执行的任务列表。

  LinkedList 同样实现了Queue接口,可以实现先进先出的队列。

  PriorityQueue 用来创建自然排序的优先级队列。

 

以上是关于Java里的集合--主要区别的主要内容,如果未能解决你的问题,请参考以下文章

java问题,求两个集合对象的并集

java语言中集合与数组的区别是啥?

面试----java基础集合---------------------comparable和comparator 的区别

Java基础阶段笔试题2

Java集合中List和 Map区别?

Java集合框架