c#数组与集合_将数组a和数组b合并为数组c

c#数组与集合_将数组a和数组b合并为数组cc#数组与集合

大家好,又见面了,我是你们的朋友全栈君。

数组在内存中是连续存储的,所以索引速度很快,增删改元素也很简单。但是数组是分配在一块连续的数据空间上的,因此分配空间的同时就必须确定好空间的大小,空间的连续也导致增删改及存储元素的效率很低。如在数组中添加元素,就需在内存空间中“腾出”一块地方,别的元素再往后“cuan”位置。还有在声明数组时,必须指定数组长度,长也不好短也不行,怎么办?于是集合出现了。

ArrayList示例:

static void Main(string[] args)
        {
            ArrayList list = new ArrayList();
            list.Add(true);
            list.Add(1);
            list.Add("张三");
            list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8 });
            list.AddRange(list);
            //list.Clear();//清除
            //list.Reverse();//反转
            //list.InsertRange(0, new string[] {"李四"});//指定位置插入集合
            if (list.Contains("张三"))//判断包含指定元素
            {
                Console.WriteLine("已经有这个屌丝啦~");
            }
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }
            Console.ReadKey();
        }

List<>示例:

static void Main(string[] args)
        {
            List<int> lt = new List<int>();
            lt.Add(1);
            lt.Add(2);
            lt.Add(3);
            lt.AddRange(new int[] { 4, 5, 6, 7, 8, 9 });
            for (int i = 0; i < lt.Count; i++)
            {
                Console.WriteLine(lt[i]);
            }
            Console.ReadKey();
        }

Hashtable示例:

static void Main(string[] args)
        {
            Hashtable hash = new Hashtable();
            hash.Add(1, "张三");
            hash.Add(2, true);
            hash.Add(false, "错误的~");
            foreach (var h in hash.Keys)
            {
                Console.WriteLine("键是{0},值是{1}", h, hash[h]);
            }
            Console.ReadKey();
        }

Dictionary示例:

 static void Main(string[] args)
        {
            Dictionary<int, string> dir = new Dictionary<int, string>();
            dir.Add(1, "张三");
            dir.Add(2, "李四");
            dir[1] = "干掉你";
            foreach (KeyValuePair<int, string> kv in dir)
            {
                Console.WriteLine("键是{0},值是{1}", kv.Key, kv.Value);
            }
            Console.ReadKey();
        }

小结:

ArrayList集合对数据类型没有要求,是因为ArrayList集合中存储的数据类型默为object类型,其它类型与object类型进行转换时就会发生“拆箱装箱”操作,而List集合在声明集合时就确定了数据类型,所以List集合与ArrayList集合相比是相对安全的哦。键值对集合与字典集合同理。

转载于:https://www.cnblogs.com/huangxuQaQ/p/10732121.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106872.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 左值和右值的理解[通俗易懂]

    关于左值和右值的理解:①从位置来讲:eg:a=b;a在左边,a为左值,那在右边的b就是右值(前提是语句合法,比如说a+25=b;则不合法) ②深层次讲:左值(L_value,L理解为Location)为地址值右值(R_value,R理解为Read)为数据值eg:a=b;即将b(右值–数据值)赋值给a(左值–地址值) ③再通俗一点讲:左值就是…

    2022年4月6日
    71
  • Unity 如何减少DrawCall「建议收藏」

    Unity 如何减少DrawCall「建议收藏」阅读目录前言:看看优化需要从哪里着手?CPU的方面的优化:GPU的优化内存的优化回到目录前言:刚开始写这篇文章的时候选了一个很土的题目。。。《Unity3D优化全解析》。因为这是一篇临时起意才写的文章,而且陈述的都是既有的事实,因而给自己“文(dou)学(bi)”加工留下的余地就少了很多。但又觉得这块是不得不提的一个地方,平时见到很多人对此处也给予了忽略了事,需

    2022年9月19日
    0
  • 列文伯格算法_最短路径matlab程序

    列文伯格算法_最短路径matlab程序  本系列文章主要介绍基于A*算法的路径规划的实现,并使用MATLAB进行仿真演示。  一、A*算法简介    A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快。    公式表示为:f(n)=g(n)+h(n),其中,f(n)是从初始状态经由状态n到目标状态的代价估计,g(n)是在状态空间中从初始状态到状态n的实际代价,h(n)是从状态n到目标状态的最佳路径的估计代价。

    2022年10月7日
    0
  • Android操作系统架构,分为4个主要功能层_Android系统优化

    Android操作系统架构,分为4个主要功能层_Android系统优化Android操作系统架构Android操作系统整体应用架构Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层

    2022年8月5日
    39
  • java获取时间毫秒_java秒转换成时分秒

    java获取时间毫秒_java秒转换成时分秒有没有办法在几秒钟内获得当天的当前时间?注意我问的是当天的时间,而不是UTC时间。我想要的是0到86,400(12:00AM-11:59PM)之间的值(以秒为单位)。我正在开发一个每天工作的应用程序,当这一天结束时,时间(以秒为单位)应该再次重新开始0。所以我们说它是10:00AM。我应该得到36,000秒,如果我的时间是5:00PM,我应该得到61,200秒。PS:我不知道手头的时…

    2022年9月5日
    2
  • java8之lamda groupingby多层 嵌套[通俗易懂]

    java8之lamda groupingby多层 嵌套[通俗易懂]@Testpublicvoidr(){List&lt;Person&gt;javaProgrammers=newArrayList&lt;Person&gt;(){{add(newPerson("Elsdon","1","Javaprogrammer","male",43,2000));

    2022年8月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号