从本质上说,比较两种结构是毫无意义的。性能行为不同的人。使用传达意图的结构。即使你说List<T>不会有重复,迭代顺序也不重要,使其与HashSet<T>,使用它仍然是一个糟糕的选择。List<T>因为它的容错能力相对较低。尽管如此,我会检查其他方面表现,+------------+--------+-------------+-----------+----------+----------+-----------+| Collection | Random | Containment | Insertion | Addition | Removal | Memory || | access | | | | | |+------------+--------+-------------+-----------+----------+----------+-----------+| List<T> | O(1) | O(n) | O(n) | O(1)* | O(n) | Lesser || HashSet<T> | O(n) | O(1) | n/a | O(1) | O(1) | Greater** |+------------+--------+-------------+-----------+----------+----------+-----------+* Even though addition is O(1) in both cases, it will be relatively slower in HashSet<T> since it involves cost of precomputing hash code before storing it.** The superior scalability of HashSet<T> has a memory cost. Every entry is stored as a new object along with its hash code. This article might give you an idea.