以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  统计集合中元素的个数问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50375)

--  作者:zstk7333
--  发布时间:2014/5/5 22:43:00
--  统计集合中元素的个数问题

在一个集合中有N个元素,我想统计一下在这N个元素中有多少个不同的元素分别出现了几次,该如何编程,谢谢!

例如:

 

集合中有:1,1,1,2,1,4,3,2,1

我想统计出 有5个1,2个2,1个3,1个4。

[此贴子已经被作者于2014-5-5 22:47:22编辑过]

--  作者:有点甜
--  发布时间:2014/5/5 22:56:00
--  

对应代码

 

Dim ls As New List(Of Integer)
ls.Add(1)
ls.Add(2)
ls.Add(3)
ls.Add(1)
ls.Add(2)
ls.Add(1)
ls.Add(5)

Dim dis As New Dictionary(Of Integer, Integer)
For Each i As Integer In ls
    If dis.ContainsKey(i) = False Then
        dis.Add(i, 1)
    Else
        dis(i) += 1
    End If
Next

For Each key As Integer In dis.Keys
    output.show(key & ":" & dis(key))
Next


--  作者:zstk7333
--  发布时间:2014/5/5 23:04:00
--  回复:(有点甜)对应代码 ?Dim ls As New L...

如果我的集合是从tables里取的不重复值

[此贴子已经被作者于2014-5-5 23:07:44编辑过]

--  作者:y2287958
--  发布时间:2014/5/6 6:06:00
--  
GetValues和Compute
--  作者:lsy
--  发布时间:2014/5/6 8:18:00
--  
Dim lst As New List(Of String)
Dim lst1 As New List(Of String)
For Each r As Row In Tables("表B").Rows
    lst.Add(r("第一列"))
    If lst1.Contains(r("第一列")) = False Then
        lst1.Add(r("第一列"))
    End If
Next
For i As Integer = 0 To lst1.Count - 1
    Output.Show(lst1(i) & " : " & Functions.Execute("字符串个数",String.Join(",", lst.ToArray), lst1(i)))
Next

--  作者:有点甜
--  发布时间:2014/5/6 9:17:00
--  
以下是引用zstk7333在2014-5-5 23:04:00的发言:

如果我的集合是从tables里取的不重复值

[此贴子已经被作者于2014-5-5 23:07:44编辑过]

 

什么意思?直接说,要想实现table的什么功能?

 

最好有例子说明