2016-08-24 117 views
0

我期待比较2个不同ArrayLists的值,并从1 ArrayList中删除任何重复项。比较2 ArrayLists并删除重复项

实施例:

ARR1 = {HF,HA,GM,RV}

ARR2 = {FB,HA}

,因为它们具有 'HA' 中常见的,我想删除来自Arr1的'HA'。任何帮助或点在正确的方向将不胜感激。

回答

0

您可以使用LINQ的除外,但你将不得不数组列表先转换成普通数组:

https://msdn.microsoft.com/en-us/library/bb300779(v=vs.110).aspx

Dim list1 As New ArrayList() 
    list1.Add("A") 
    list1.Add("B") 
    list1.Add("C") 

    Dim list2 As New ArrayList() 
    list2.Add("A") 
    list2.Add("B") 

    Dim array1 = list1.ToArray() 
    Dim array2 = list2.ToArray() 
    Dim except = array1.Except(array2).ToArray() 

enter image description here

此外,如果您需要自定义比较,使用过载相反:

https://msdn.microsoft.com/en-us/library/bb336390(v=vs.110).aspx

编辑

有极少数的LINQ方法可供ArrayList,但是你可以将其转换回很容易:

Dim arrayList as New ArrayList(except)

+0

有没有办法做的ArrayList?转换为数组意味着我想避免的其他更多变化。或者将数组转换回ArrayList是否有诀窍? – madmike

+0

看看我的编辑。 – Aybe