有没有办法在不遍历整个列表的情况下计算 ArrayList 中项目的唯一实例数?这是我的代码,我想在不遍历整个列表的情况下计算 Orange 的实例数 - 我希望有一种方法可以做到这一点?在实践中,实际的 ArrayList 将有数十万个项目。
Private Sub TestArrayList2()
Dim TestAR As Object
Dim Count As Integer
Set TestAR = CreateObject("System.Collections.ArrayList")
TestAR.Add "Apple"
TestAR.Add "Orange"
TestAR.Add "Orange"
TestAR.Add "Orange"
TestAR.Add "Pear"
Count = TestAR.Count
End Sub
最佳答案
我找不到内置的单个函数,但是一旦对数组列表进行排序,就很容易找到您要查找的字符串的第一个 ( .IndexOf
) 和最后一个 ( .lastIndexOf
) 出现:
lookingfor = "Orange"
TestAR.Sort
occurrences = TestAR.lastIndexOf(lookingfor) - TestAR.IndexOf(lookingfor, 0) + 1
关于excel - 计算 ArrayList 中唯一项的数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57970803/