列表、队列和集合有什么区别?
简言之:
列表是一组有序的对象,同一个对象可能会出现多次。例如:[1, 7, 1, 3, 1, 1, 1, 5]。在列表中讲第三个元素是有意义的。您可以在列表的任何位置添加、更改或删除元素。
队列也是有序的,但是您只会在一个端点接触到元素。所有元素都从队列的“末尾”插入并从“开头”(或头部)移除。您可以找出队列中有多少元素,但您不能确定哪个是“第三个”元素。直到您遍历完它,才能看到它。
集合没有顺序,并且不允许重复项。任何给定的对象要么在集合中,要么不在集合中。{7,5,3,1} 与 {1, 7, 1, 3, 1, 1, 1, 5} 是完全相同的集合。您同样无法询问“第三个”元素或甚至“第一个”元素,因为它们没有任何特定的顺序。您可以添加或删除元素,并查找某个元素是否存在(例如,“这个集合中是否有7?”)
{1, 7, 1, 3, 1, 1, 1, 5}
存在重复数据,但是 Java 不这么认为。换句话说,即使已经存在相同的对象,您仍然可以将该对象添加到集合中,这种添加操作不会改变集合的内容或执行任何操作的结果。这与列表不同,向列表中添加另一个 "1" 将创建一个基本上不同的列表。 - VoteyDisciple