2021-10-19

一. 集合

  1. 集合概念

集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。

  1. ArrayList集合

ArrayList list = new ArrayList();

           //添加单个元素

           list.Add(true);

           list.Add(1);

           list.Add("张三");

           list.Clear();清空所有元素

           list.Remove(true);删除单个元素 写谁就删出谁

           list.RemoveAt(0);根据下标去删除元素

           list.RemoveRange(0, 3);根据下标去移除一定范围的元素

           list.Insert(1, "插入的");在指定的位置插入一个元素

           bool b = list.Contains(1);判断是否包含某个指定的元素

           list.Add("大男孩");

           if (!list.Contains("大男孩"))

           {

                list.Add("大男孩");

            }else{

                Console.WriteLine("已经有了");

             }
              //循环打印

             for (int i = 0; i < list.Count; i++)

            {

                Console.WriteLine(list[i]);

            }

            list.Sort();//升序排列

            list.Reverse();反转

1、添加同一对象

using System.Collections.Generic;

public class Test(){

User u1 = new User ();

        u1.Id = 101;

        u1.Name = "张三";

        User u2 = new User();

        u2.Id = 102;

        u2.Name = "李四";

        

        ArrayList list = new ArrayList();

        list.Add(u1);

        list.Add(u2);

        foreach(User u in list)

{

            Debug.Log(u.Id + "\t" + u.Name);

         }

}

2、添加多个不同对象

ArrayList list = new ArrayList();

User u=new User();

u1.Id = 101;

         u1.Name = "张三";

Student s=new Student();

s.Id = 101;

         s.Name = "李四";

list.Add(u);

list.Add(s);

foreach (object obj in list)

        {

            if (obj is Student)

            {

                Debug.Log("AAA");

            }

            if (obj is User)

            {

                Debug.Log("BBB");

            }

     }

IEnumerator :迭代器   [i'nju:mə,reitə]

IEnumerator it = list.GetEnumerator();

            while(it.MoveNext()){

                User u = (User)it.Current;

                it.MoveNext();

                Student s=(Student)it.Current;

                Console.WriteLine(u.Name+"\t"+s.Name);

            }

3、模板:template

    class Chinese
    {
        string name;
        int age;
    }
    class American
    {
        string name;
        int age;
    }
    class Person<T>
    {
        T name;
        T age;
    }
    class Test
    {
        static void Main(string[] args)
        {
             Person<Chinese> chinese = new Person<Chinese>();
              Person<American> american = new Person<American>();
        }
     }

4、泛型

泛型是程序设计语言的一种特性,允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。

List<string> list = new List<string>();

            list.Add("张三");

            list.Add("李四");

            list.Add("王五");

            list.Add("田六");

            list.Add("赵七");

            for (int i = 0; i < list.Count; i++)

            {

                Console.WriteLine("for循环:" + list[i]);

            }

            list.RemoveAt(0);

            foreach (string item in list)

            {

                Console.WriteLine("foreach迭代:" + item);

            }

后进先出

            Stack<int> s = new Stack<int>();

            s.Push(1);

            s.Push(2);

            s.Push(3);

            s.Push(4);

            //Console.WriteLine(s.Peek());

           // Console.WriteLine(s.Pop());

            foreach (var item in s)

            {

                Console.WriteLine(item);

        }

  1. 队列

先进先出

Queue<int> q = new Queue<int>();

            q.Enqueue(1);

            q.Enqueue(2);

            q.Enqueue(3);

            q.Enqueue(4);

            //Console.WriteLine(q.Peek());

            //Console.WriteLine(q.Dequeue());

            foreach (var item in q)

            {

                Console.WriteLine(item);

        }

  1. 字典

无序字典

Dictionary<int, string> d = new Dictionary<int, string>();

            d.Add(1, "a");

            d.Add(3, "c");

            d.Add(4, "d");

            d.Add(2, "b");

            foreach (var item in d.Keys)

            {

                Console.WriteLine(item+"\t"+d[item]);

        }

有序字典

SortedDictionary<int, string> d = new SortedDictionary<int, string>();

            d.Add(1, "a");

            d.Add(3, "c");

            d.Add(4, "d");

            d.Add(2, "b");

//正序

            foreach (var item in d.Keys)

            {

                Console.WriteLine(item + "\t" + d[item]);

        }

        //倒序

            foreach (var item in d.Reverse())

            {

                Console.WriteLine(item.Key + "\t" + item.Value);

            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值