.Net学习笔记----2015-06-24(还是继承:ArrayList 和 Hashtable 集合)

protected

受保护的:可以在当前类的内部以及该类的子类中访问。

ArrayList

集合:很多数据的一个集合

数组:长度不可变,类型单一

集合的好处:长度可以任意改变,类型随便放

ArrayList list = new ArrayList();

list.Add();添加单个元素

list.AddRange();添加集合

罗列ArrayList的各种用法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace _16ArrayList的各种方法
{
    class Program
    {
        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 });
            //list.AddRange(list);

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

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

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

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

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

            //反转
            //list.Reverse();

            //根据下标插入单个元素
            //list.Insert(1, "插入的");

            //根据下标插入一个集合
            //list.InsertRange(1, new string[] { "张三", "李四" });

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

            //Console.WriteLine(b);
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }

            Console.ReadKey();
        }
    }
}

ArrayList集合长度的问题

每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,集合就会向内存申请多开一倍的空间,来保证集合长度一直够用

namespace _17ArrayList集合长度的问题
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList();
            //count 表示这个集合中实际包含的元素的个数
            //capcity 表示这个集合中可以包含的元素的个数
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            Console.WriteLine(list.Count);
            Console.WriteLine(list.Capacity);
            Console.ReadKey();
        }
    }
}
时间: 2024-11-08 15:06:31

.Net学习笔记----2015-06-24(还是继承:ArrayList 和 Hashtable 集合)的相关文章

OpenGL学习笔记-2015.3.24——transform feedback缓存&amp;粒子系统示例分析

transform feedback是OpenGL中比较酷炫的特性之一,他让客户端应用程序可以获取到渲染流水线上的顶点数据.基于这一特性实现了基于z-pass场景决策渲染技术,当然在此并没有去了解何为z-pass场景决策渲染技术,总之是一个可以有效减少渲染数据的输送.这里只是通过一个简单的例子系统,去了解transform feedback对象的使用方法. 正文: 1.transform feedback: transform feedback是OpenGL渲染管线中,顶点处理阶段结束之后,图元

【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)

GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之后,在Ext.Net GridPanel的行头会出现一个展开图标,点击图标以后能够将这一行展开: 使用XTemplate实现行折叠/展开 这是最简单的一种实现,在上一篇文章:[Ext.Net学习笔记]05:Ext.Net GridPanel的用法(包含Filter.Sorter.Grouping.汇

C++ Primer 学习笔记_31_面向对象编程(2)--继承(二):继承与构造函数、派生类到基类的转换 、基类到派生类的转换

C++ Primer 学习笔记_31_面向对象编程(2)--继承(二):继承与构造函数.派生类到基类的转换 .基类到派生类的转换 一.不能自动继承的成员函数 构造函数 拷贝构造函数 析构函数 =运算符 二.继承与构造函数 基类的构造函数不被继承,派生类中需要声明自己的构造函数. 声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化调用基类构造函数完成(如果没有给出则默认调用默认构造函数). 派生类的构造函数需要给基类的构造函数传递参数 #include <iostream

C++ Primer学习笔记32_面向对象编程(3)--继承(三):多重继承、虚继承与虚基类

C++ Primer学习笔记32_面向对象编程(3)--继承(三):多重继承.虚继承与虚基类 一.多重继承 在C++语言中,一个派生类可以从一个基类派生,称为单继承:也可以从多个基类派生,称为多继承. 多重继承--一个派生类可以有多个基类 class <派生类名> : <继承方式1> <基类名1>,<继承方式2> <基类名2>,... { <派生类新定义成员> }; 可见,多继承与单继承的区别从定义格式上看,主要是多继承的基类多于一个

python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列

标准库:一些最爱 集合.堆和双端队列 集合 集合Set类位于sets模块中. >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> set(range(10)) set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 集合是由序列(或其他可迭代的对象)构建的.主要用于检查成员资格,因此,副本是被忽略的: >>> range(10)*2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Duilib学习笔记《06》— 窗体基类WindowImpBase

在前面的例子中我们发现,窗口都是继承CWindowWnd.INotifyUI,然后重载相关函数去实现.显然,我们发现窗口的创建流程实际上都是差不多的,主要只是在OnCreate加载的配置文件不同等等…所以,能不能创建一个公有的窗体基类呢?其实,在duilib中已经提供了一个窗体基类 WindowImplBase:在基类内搭建窗口的消息框架,各处理函数为虚函数,子类可以重载处理函数,实现其处理. 此处我们以修改之前的代码为例来进行说明. 1. 窗体显示 CMainWndDlg类修改为继承Windo

【object-c 学习笔记】第四章 继承

继承 inheritance1.概念: 2.声明新类的方法:@interface Circle:NSObjcet冒号后边的标识符是需要继承的类 3.有关术语超类(superclass):是继承的类:父类(parent class):是超类的另一种表达方式 :子类(subclass):是执行继承的类 :孩子类(child class):子类的另一种表达方式: 4.objcet-c 继承的实例 1 //程序中定义了两个类,分别是ClassA和ClassB:ClassA的父类是NSObject Cla

【学习笔记】C# 封装和继承

封装 封装是实现面向对象程序设计的第一步 封装就是将数据.方法等集合在一个个单元中,我们称之为类 封装的意义在于保护代码/数据,屏蔽复杂性 继承 继承是所有面向对象语言不可缺少的部分 继承是为了实现类的重用和扩展 被继承的类叫做基类,或者父类. 继承于基类的叫做派生类,或者子类. 在C#中,只支持单继承,子类只能有一个父类 父类具有的特性,子类同样具有,继承可以传递 示例 1 using System; 2 namespace ObjectFeatureDemo 3 { 4 public cla

《Effective C++ 》学习笔记——条款06

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 二.Constructors,Destructors and Assignment Operators Rule 06: Explicityly disallow the use of compiler-generated functions you do no

HTML第一天学习笔记2015 10 01

如需在 HTML5 中显示视频,您所有需要的是: <video src="movie.ogg" controls="controls"> </video> <html> 与 </html> 之间的文本描述网页 <body> 与 </body> 之间的文本是可见的页面内容 <h1> 与 </h1> 之间的文本被显示为标题 <p> 与 </p> 之间的