C#集合之集(set) - Ruby_Lu - 博客园

文章推薦指數: 80 %
投票人數:10人

包含不重复元素的集合称为“集(set)”。

.NET Framework包含两个集HashSet和SortedSet,它们都实现ISet接口。

Has. 首页 新闻 博问 专区 闪存 班级 我的博客 我的园子 账号设置 简洁模式... 退出登录 注册 登录 阿飞 C#集合之集(set)   包含不重复元素的集合称为“集(set)”。

.NETFramework包含两个集HashSet和SortedSet,它们都实现ISet接口。

HashSet集包含不重复元素的无序列表,SortedSet集包含不重复元素的有序列表。

  ISet接口提供的方法可以创建合集,交集,或者给出一个是另一个集的超集或子集的信息。

    varcompanyTeams=newHashSet(){"Ferrari","McLaren","Mercedes"};     vartraditionalTeams=newHashSet(){"Ferrari","McLaren"};     varprivateTeams=newHashSet(){"RedBull","Lotus","ToroRosso","ForceIndia","Sauber"};     if(privateTeams.Add("Williams"))       Console.WriteLine("Williamsadded");     if(!companyTeams.Add("McLaren"))       Console.WriteLine("McLarenwasalreadyinthisset");   IsSubsetOf验证traditionalTeams中的每个元素是否都包含在companyTeams中     if(traditionalTeams.IsSubsetOf(companyTeams))     {       Console.WriteLine("traditionalTeamsissubsetofcompanyTeams");     }   IsSupersetOf验证traditionalTeams中是否有companyTeams中没有的元素     if(companyTeams.IsSupersetOf(traditionalTeams))     {       Console.WriteLine("companyTeamsisasupersetoftraditionalTeams");     }   Overlaps验证是否有交集     traditionalTeams.Add("Williams");     if(privateTeams.Overlaps(traditionalTeams))     {       Console.WriteLine("Atleastoneteamisthesamewiththetraditional"+       "andprivateteams");     }   调用UnionWith方法把新的 SortedSet变量填充为companyTeams,privateTeams,traditionalTeams的合集     varallTeams=newSortedSet(companyTeams);     allTeams.UnionWith(privateTeams);     allTeams.UnionWith(traditionalTeams);     Console.WriteLine();     Console.WriteLine("allteams");     foreach(varteaminallTeams)     {       Console.WriteLine(team);     }     输出(有序的):       Ferrari       ForceIndia       Lotus       McLaren       Mercedes       RedBull       Sauber       ToroRosso       Williams   每个元素只列出一次,因为集只包含唯一值。

  ExceptWith方法从ExceptWith中删除所有私有元素     allTeams.ExceptWith(privateTeams);     Console.WriteLine();     Console.WriteLine("noprivateteamleft");     foreach(varteaminallTeams)     {       Console.WriteLine(team);     } posted@ 2017-05-1012:50  Ruby_Lu  阅读(24170)  评论(0)  编辑  收藏  举报 刷新评论刷新页面返回顶部 Copyright©2022Ruby_Lu Poweredby.NET6onKubernetes



請為這篇文章評分?