List vs Queue vs Java中的集合集

Sum*_*hra 24 java queue collections list set

列表,队列和集合之间有什么区别?

Vot*_*ple 64

简单来说:

一个列表是一个对象,在同一个对象可能出现不止一次的有序列表.例如:[1,7,1,3,1,1,1,5].谈谈列表中的"第三个元素"是有意义的.您可以在列表中的任何位置添加元素,在列表中的任何位置更改元素,或从列表中的任何位置删除元素.

一个队列也定购,但你永远只触摸元件的一端.所有元素都插入"end"并从队列的"开头"(或头部)中删除.您可以找出队列中有多少元素,但是您无法找到"第三"元素的内容.当你到达那里时你会看到它.

不排序,并不能包含重复.任何给定的对象要么在集合中,要么不在集合中.{7,5,3,1}与{1,7,1,3,1,1,1,5}完全相同.你再次不能要求"第三"元素甚至是"第一"元素,因为它们没有任何特定的顺序.您可以添加或删除元素,并且可以查明某个元素是否存在(例如,"此集合中是7?")

  • ***你认为`{1,7,1,3,1,1,1,5}`包含重复,但Java并不这么认为.换句话说,即使同一个对象已经存在,也可以随时将一个对象添加到一个集合中.这个添加只是不会改变集合的构成或者可能对它执行的任何操作的结果.这与列表不同,在列表中添加另一个"1"会创建一个根本不同的列表. (9认同)
  • 一个集合可以被排序,treesets 是被排序的 (3认同)