3

我有 2 个列表,集合类型取决于我,它可以是数组列表或哈希表等。两个列表都包含 guid。我需要找到 List-2 中不存在的 List-1 的项目。

两个列表都可以包含100 万个项目。

我使用哈希表方法,但速度很慢。

有没有更好的方法来实现这一目标?

4

1 回答 1

1

您可以使用Hashset(of T)并使用except方法。这将返回哈希集一中但不在哈希集二中的所有项目。

    Dim numbers1() As new HashSet(of Double)({2.0, 2.1, 2.2, 2.3, 2.4, 2.5})
    Dim numbers2() As new hashset(of Double)({2.2})

    Dim onlyInFirstSet As IEnumerable(Of Double) = numbers1.Except(numbers2)

    ' This code produces the following output: 
    ' 
    ' 2 
    ' 2.1 
    ' 2.3 
    ' 2.4 
    ' 2.5
于 2013-05-24T10:53:37.207 回答