数组去除重复

liuxiaoboQQ 2016-05-15 05:05:42
{"a,23sd44", "a,23s5sf4", "bb,sd2364", "a,2f534", "bb,2sfds434"}
数组求去除重复(只考虑逗号前)保留最后出现的。结果
{ "a,2f534", "bb,2sfds434"}

重点,逗号之后的不考虑,保留最后出现的不是第一次出现的值
...全文
301 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjzxlmg 2016-06-24
  • 打赏
  • 举报
回复
Sub test()
        Dim dic As New Dictionary(Of String, String)
        Dim arr() As String = {"a,23sd44", "a,23s5sf4", "bb,sd2364", "a,2f534", "bb,2sfds434"}
        For i As Integer = 0 To UBound(arr)
            dic(Split(arr(i), ",")(0)) = arr(i)
        Next
        Dim brr() As String = dic.Values.ToArray
        MsgBox(Join(brr, ","))
    End Sub
gxhsx 2016-06-21
  • 打赏
  • 举报
回复
string[] arr = { "a,23sd44", "a,23s5sf4", "bb,sd2364", "a,2f534", "bb,2sfds434" }; System.Collections.Hashtable ht = new System.Collections.Hashtable(); for (int i = 0; i < arr.Length; i++) { ht[(arr[i].Split(','))[0]] = arr[i]; }
  • 打赏
  • 举报
回复
string[] arr = { "a,23sd44", "a,23s5sf4", "bb,sd2364", "a,2f534", "bb,2sfds434" };
foreach (var str in arr.GroupBy(s => s.Split(',')[0]).Select(g => g.Last()))
{
    Console.WriteLine(str);
}
楚狂歌 2016-05-16
  • 打赏
  • 举报
回复
就是Directory啊,每次插入新值前判断键值是否存在

Private DeviceCollection As new Dictionary(Of String, String)
 If Not DeviceCollection.ContainsKey("a") Then
DeviceCollection.Add("a",value)
else
DeviceCollection.Item("a").value =value
end if
楚狂歌 2016-05-16
  • 打赏
  • 举报
回复
打错了,是Dictionary dim value as string DeviceCollection.Item("a") =value
liuxiaoboQQ 2016-05-15
  • 打赏
  • 举报
回复
百度了一个数组处理的方法,可以去除重复但是保留的是第一次出现的数据,我需要保留最后出现的数据。 听人说用字典树 但是不知道是什么

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧