Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: beginner
Oct 27, 2003

ArrayListMerge - Merging two ArrayList avoiding duplicate values

' Merge two ArrayList, avoiding duplicate values (if there are already 
' duplicate values in same input ArrayList however, they are not discarded)
' 
' Example:
'   Dim al1 As New ArrayList
'   al1.Add("John")
'   al1.Add("Ann")
'   al1.Add("Frank")
'
'   Dim al2 As New ArrayList
'   al2.Add("Ann")
'   al2.Add("Tony")
'   al2.Add("Mark")
'   al2.Add("John")
'
'   Dim al3 As ArrayList = ArrayListMerge(al1, al2)
'   Dim o As Object
'   Debug.WriteLine("Number of elements in the ArrayList returned from 
' ArrayListMerge: " & al3.Count)
'   For Each o In al3
'       Debug.WriteLine(o)
'   Next

Function ArrayListMerge(ByVal al1 As ArrayList, ByVal al2 As ArrayList) As _
    ArrayList
    ' initialize the capacity to the total count of elements from both array 
    ' lists
    Dim res As New ArrayList(al1.Count + al2.Count)
    ' append the items in the first ArrayList
    res.AddRange(al1)

    Dim o As Object
    For Each o In al2
        ' add all the al2's elements that are not contained in al1
        If Not al1.Contains(o) Then
            res.Add(o)
        End If
    Next

    ' trim the ArrayList to the number of actually used slots
    res.TrimToSize()
    Return res
End Function
Marco Bellinaso
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap