zoukankan      html  css  js  c++  java
  • c# 集合的长度为什么是可变的

    摘要: 写在前面:此随笔仅仅是作为个人学习总结,有不对的地方,请各位前辈指正O(∩_∩)O........ 

    一: 引入

    在学习集合之前我们都学习过数组.可以知道数组的长度在声明的时候就已经被固定了,不可以增加或者修改.这个时候我们想要有数组的效果,又可以随意的改变长度,那怎么办呢?此时我们的集合就出现啦.

    在一个集合中我们可以通过Add(),AddRange()方法在集合末尾添加元素.可以通过Remove(),RemoveAt()方法移除元素.如果此时我们获取这个集合的Count属性值,就会发现这个值在不断改变.

    二: 为什么

    首先我们来了解一下集合里面的两个属性:

    Count: 表示当前这个集合内元素的个数  ( Gets the number of elements actually contained in the System.Collections.ArrayList.)

    Capacity: 表示当前这个集合可以容纳的元素个数  (Gets or sets the number of elements that the System.Collections.ArrayList can contain.)

    怎么说呢?

    首先我们声明一个集合:

    ArrayList list = new ArrayList();
    Console.WriteLine(list.Count);
    Console.WriteLine(list.Capacity);

    结果为: 0 , 0

    给集合添加一个值:

    ArrayList list = new ArrayList();
    list.Add("abc");
    Console.WriteLine(list.Count);
    Console.WriteLine(list.Capacity);

    结果为: 1 , 4

    给集合添加四个值:

    (代码略)

    结果为: 4 , 4

    给集合添加五个值: 

    (代码略)

    结果为: 5 , 8

    给集合添加九个值:

    结果为: 9 , 16

    移除一个值:

    结果为: 8 , 8

    由此我们可以看到,当我们只声明集合没有赋值的时候,没有可以容纳的个数.但是一旦我们往集合里添加数据,就会存在4个可以容纳的空间,超过4个就会翻倍的去申请.

    当我们移除元素的时候,集合可以容纳的数目也会减少

  • 相关阅读:
    PHP新建文件并写入内容demo
    PHP输出结果demo
    网站顶部图标使用分析
    .htaccess文件的创建 / 联动天下空间伪静态(isapi_rewrite)配置方法
    【原创】网站底部竖线布局对比/研究
    JS判断访问设备终端PC/iPad/iPhone/android 和浏览器IE/Opera/Firefox/webKit
    我的blog风格
    2020.11.17 近日复健情况
    南风又起,锦字题予往昔(写给校刊《我们大多数》)
    【对拍大法好!!】
  • 原文地址:https://www.cnblogs.com/joyandjoys/p/9857135.html
Copyright © 2011-2022 走看看