zoukankan      html  css  js  c++  java
  • C# HashSet<T> 简单使用

    一个简单的HashSet<T> 的例子,介绍其简单的方法,深入学习可参考微软:https://msdn.microsoft.com/en-us/library/bb359438(v=vs.110).aspx

    static void Main(string[] args)
            {   
                //定义两个哈希集合以及其中一个集合的子集
                HashSet<int> hashSet1 = new HashSet<int>() { 1, 2, 3, 4, 5 };
                HashSet<int> hashSet2 = new HashSet<int>() { 6, 7, 8, 9, 10 };
                HashSet<int> hashSet1Sub = new HashSet<int>() { 4, 5 };
                HashSet<int> hashSetAll = new HashSet<int>();
    
                string message = String.Empty;
                bool result = false;
    
                #region Hash集合元素唯一性体现
                result = hashSet1.Add(1);    //集合1中添加重复元素
                if (result)
                {
                    message = "Hash集合已存在该元素";
                }
                else
                {
                    message = "元素添加成功";               
                }
                Console.WriteLine(message);
                #endregion
    
                #region Hash表子集、交集判断
                result = hashSet1.IsSubsetOf(hashSet2);
                if (result)
                {
                    message = "Hash集合2是集合1的子集";
                }
                else
                {
                    message = "Hash集合2不是集合1的自己";
                }
                Console.WriteLine(message);
    
                result = hashSet1.Overlaps(hashSet2);
                if (result)
                {
                    message = "Hash集合1和Hash集合2存在交集";
                }
                else
                {
                    message = "Hash集合1和hash集合2不存在交集";
                }
    
                result = hashSet1.IsSupersetOf(hashSet2);
                if (result)
                {
                    message = "集合1完全包含集合2";
                }
                else
                {
                    message = "集合1不完全包含集合2";
                }
                #endregion
    
                #region 集合的初始化
                hashSetAll = new HashSet<int>(hashSet1);
                hashSetAll.UnionWith(hashSet2);
                hashSetAll.UnionWith(hashSet1Sub);
    
                message = "输出所有集合的元素";
                Console.WriteLine(message);
                foreach (int item in hashSetAll)
                {
                    Console.WriteLine(item);
                }
                #endregion
    
                #region 排除元素
                hashSetAll.ExceptWith(hashSet2);
                message = "排除了集合2并输出";
                Console.WriteLine(message);
                foreach (var item in hashSetAll)
                {
                    Console.WriteLine(item);
                }
                #endregion
    
                Console.ReadKey();
            }
  • 相关阅读:
    #18.2.27 codevs1098 均分纸牌
    18.2.26 codevs3143 二叉树的序遍历
    18.2.14 codevs1501 二叉树最大宽度和高度
    18.2.14 codevs1011 数的计算
    18.2.14 【水】codevs1475 m进制转十进制
    18.2.14 【水】codevs1474 十进制转m进制
    18.2.14 【水】codevs1430 素数判定
    18.2.13 codevs1212 最大公约数
    18.2.13 codevs1012 最大公约数和最小公倍数问题
    17.12.31 链表合并
  • 原文地址:https://www.cnblogs.com/mahuanpeng/p/6337628.html
Copyright © 2011-2022 走看看