集---HashSet<T>与SortedSet<T>

HashSet<T>不重复的无序列表

SortedSet<T>不重复的有序列表

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {

            //=============================【HashSet<T>】==============================
            //-----------------添加
            HashSet<string> test = new HashSet<string> { "a", "b", "c" };
            if (!test.Add("a"))//如果列表中存在就不会添加,并返回false
                Console.WriteLine("该元素已存在,不添加");
            if (test.Add("d"))
                Console.WriteLine("添加元素成功");
            //-----------------比较
            HashSet<string> test1 = new HashSet<string> { "a", "b", "c"};
            HashSet<string> test2 = new HashSet<string> { "a", "b", "c","d" };
            if (test1.IsSubsetOf(test2))
            {
                Console.WriteLine("test1的每个元素test2都有");
            }
            if (test1.IsSubsetOf(test2))
            {
                Console.WriteLine("test2相对于test1有额外的元素");
            }
            if (test1.Overlaps(test2))
            {
                Console.WriteLine("test2与test1有共同的元素");
            }
          
 
            //=============================【HashSet<T>】==============================
            //------------添加集
            SortedSet<string> sd = new SortedSet<string>(test1);//将test1中的所有元素添加到有序列表中
            sd.UnionWith(test2);//将test2中的所有元素添加到有序列表中【结果会排除重复的元素,并排序】
            sd.Add("aa");
            //------------删除集
            sd.Remove("d");//删除匹配的元素
            sd.RemoveWhere(r => r == "aa");//删除匹配的元素
            sd.ExceptWith(test1);//删除集
            
            foreach (var item in sd)
            {
                Console.WriteLine(item);
            }
          
            Console.ReadKey();
        }
    }
}
时间: 2024-08-14 01:58:36

集---HashSet<T>与SortedSet<T>的相关文章

C#高级编程五十五天----HashSet和SortedSet

集 饱含不重复元素的集合称为"集(set)". .NET4包含两个集(HashSet<T>和SortedSet<T>),他们都实现ISet<T>接口.HashSet<T>即包含不重复元素的无序列表,SortedSet<T>集包含不重复元素的有序列表. ISet<T>接口提供的方法可以创建合集,交集,或者给出一个集合时另一个集的超集或子集的信息. 案例: //使用HashSet:重复的元素自动被移除,但是不排序 va

C#集合之集(set)

包含不重复元素的集合称为"集(set)"..NET Framework包含两个集HashSet<T>和SortedSet<T>,它们都实现ISet<T>接口.HashSet<T>集包含不重复元素的无序列表,SortedSet<T>集包含不重复元素的有序列表. ISet<T>接口提供的方法可以创建合集,交集,或者给出一个是另一个集的超集或子集的信息. var companyTeams = new HashSet<

02.C#集合

1.集合接口与集合类型 (1)集合的命名空间 大多数集合类都可以在System.Collections和System.Collections.Generic名称空间中找到.泛型集合位于System.Collections.Generic名称空间中:专用于特定类型的集合类位于System.Collections.Specialized名称空间中:线程安全的集合位于System.Collections.Concurrent名称空间中. (2)集合接口介绍 1.IEnumerable与IEnumera

C#集合基础与运用

1.集合接口与集合类型 (1)集合的命名空间 大多数集合类都可以在 System.Collections 和 System.Collections.Generic 名称空间中找到. 泛型集合位于 System.Collections.Generic 名称空间中: 专用于特定类型的集合类位于 System.Collections.Specialized 名称空间中: 线程安全的集合位于 System.Collections.Concurrent 名称空间中. (2)集合接口介绍 1. IEnume

Java学习笔记(2)----散列集/线性表/队列/集合/图(Set,List,Queue,Collection,Map)

1. Java集合框架中的所有实例类都实现了Cloneable和Seriablizable接口.所以,它们的实例都是可复制和可序列化的. 2. 规则集存储的是不重复的元素.若要在集合中存储重复的元素,就需要使用线性表.线性表不仅可以存储重复的元素,而且允许用户指定存储的位置.用户可以通过下标来访问线性表中的元素. 3. Java集合支持三种类型的规则集:散列集HashSet.链式散列集LinkedHashSet和树形集TreeSet.HashSet以一个不可预知的顺序存储元素:LinkedHas

C#语言基础-11 字典/集/有序集合/不变的集合

字典 Dictionary<TKey,TValue> 字典允许按照某个键来访问元素.字典也称为映射或散列表.  字典的主要特性是能根据键快速查找值.添加到字典中的键会转换为一个散列,利用散列创建一个数字,它将索引和值关联起来. Person p1 = new Person(); p1.Age = 1; Dictionary<string,Person> dic = new Dictionary<string, Person>(); Dictionary<strin

java集合框架22

思想:在面向对象的思想里,一种数据结构被认为是一种容器.在本质上来讲是一个类,提供方法支持查找,插入和删除等等操作. Java集合框架支持以下俩种类型的容器: 存储一个元素集合,简称为集合Collection 存储键值对,称为图Map 集合collection 三种主要类型 : 规则集(set) , 线型表(List) , 队列(Queue) set: 存储一组不重复的数据 List: 存储由元素构成的有序集合 Queue: 存储先进先出方式处理的对象 细说Collection接口: 它是处理对

java集合(一)——数据结构详解

当我们要处理一串数据的时候,相比较c++和c中的数组和指针,在Java中我们更为常用的是ArrayList.HashMap等集合数据结构.c语言对指针的支持成就了他的深度,而Java中多种多样的包装类成就了他的广度.在java中,我们一般将List.Map.Set等数据结构通归为集合数据结构,这些类都存在于集合类库中. (一) 集合接口 1.集合的接口和实现分离 与其他的数据结构类库相似的,java的集合类库也采用了这种接口和实现分离的方法. 这种方法的好处是不言而喻的.当你要实例化一个队列时,

VS 2012 C# 集合

本文内容 集合 性能 最近复习了一下集合,C# 关于集合的类蛮多的,但我除了 List 经常用之外,其他的用还真不多,但其实,每个集合的差别很大,各有适用的场景,功能也很强大. 下载 Demo 集合 集合,都是一些数据结构中提到的常见结构,比如,列表.队列.栈.链表.字典.散列等等,其中,列表.链表.字典.散列还有有序和无序之分等等. 集合 描述 ArrayList,List<T> 列表,ArrayList 是 List<T> 的非泛型形式. Stack<T> 栈 Qu