HashSetT
這是一組獨特的專案,使用 O(1)
查詢。
HashSet<int> validStoryPointValues = new HashSet<int>() { 1, 2, 3, 5, 8, 13, 21 };
bool containsEight = validStoryPointValues.Contains(8); // O(1)
通過比較,在 List 上執行 Contains
會產生較差的效能:
List<int> validStoryPointValues = new List<int>() { 1, 2, 3, 5, 8, 13, 21 };
bool containsEight = validStoryPointValues.Contains(8); // O(n)
HashSet.Contains
使用雜湊表,因此無論集合中的專案數是多少,查詢都非常快。