zoukankan      html  css  js  c++  java
  • C# 集合总结

    1,Array ,ArrayList,List<类型>  数组, 连续分配的,查询速度快,但增删不方便 

    #region 链表

    2,LinkedList<类型>,LinkedListNode<类型> 链表 ,非连续分配,每个元素都有前后节点,找元素只能遍历,查找不方便,增删容易

    3,Queue<T> 队列,也是链表,先进先出,增删快,可以重复数据,一般放置任务,延迟执行

    4,Stack<T> 栈,也是链表,先进后出

      1)Push

      2)pok

      3)

    #endregion

    #region Set:

    1,HashSet<T>  hash集合,hash分布,去重复,元素间没有关系,不能索引获取数据

      HashSet<String> hashSet=new HashSet<String>();

      hashSet.Add("123");

      hashSet.Add("456");

      hashSet.Add("456");

    应用:两个HashSet 可以进行  交、叉、并、补,操作

    2,SortedSet<T> 排序集合,去重+排序,交、叉、并、补  也可以

    #endregion

    #region Hashtable

    1,Hashtable :key-value类型(无序类型),体积动态增加,基于数组实现的,增删查改都快,但是浪费空间,效率可能会低。

      线程安全:只有一个线程写,多个线程读。

      Hashtable table=new Hashtable();

      table.Add("123","456")

      table[234]=456;

    #endregion

    #region  Dictionary key-value 类型

    1,Dictionary<int,string> 有序的,增删查效率高(数据太多除外)

    2,SortedDictionary<int,string>,排序字典,自动排序,增删效率就稍微低一点

    3,SortedList list=new SortedList(),   排序列表,key不能重复添加

      list.Add("aa","bb");

    #endregion

    foreach  就是迭代器的实现

    yieid 迭代器的实现,状态机形式的,在使用的时候去取值,初始化的时候不会一次性把数据加载  (性能优化)。

  • 相关阅读:
    DPDK L2fwd 源码阅读
    集美大学网络1413第六次作业(团队二)
    集美大学网络1413第五次作业(团队一)
    集美大学网络1413第四次作业(结对二)
    集美大学网络1413第三次作业
    集美大学网络1413第二次作业
    集美大学网络1413第一次作业
    集美大学软工-网络1413大家庭
    耿丹16-1上半学期助教总结
    耿丹16-1第十二次作业
  • 原文地址:https://www.cnblogs.com/luyiwei/p/9180520.html
Copyright © 2011-2022 走看看