ArrayList(数组列表)

Why如果一个公司有5名员工,一般我们会用长度为5的对象数组来存储信息,但要是有新员工来了,5个长度的数组就不够用了,因此我们需要一种能够根据需要自动分配容量的动态数组

What类似于数组的数据存储容器,它的容量是可以动态分配和调整的,并且提供了一系列的方法对其中的元素进行增删改的操作

Where例如要存储一组不确定的人员信息、一组分数、一组字符串、或者一组符号

How

语法:ArrayList  array = new  ArrayList();

  1. 容量会根据需要自动拓展
  2. 根据索引下标获取里面的元素:array[0],array[1]
  3. 删除其中一个元素之后,后面的元素会往前移,索引位置也会重新调整
  4. 任意数据类型放入ArrayList之后都会变成object类型,如果要拿出来使用的话,就要转化成相应的数据类型
  5. 按照“先进先出”顺序存储

int

Count

返回ArrayList中实际包含的元素个数

void

Add(Object value)

将对象添加到ArrayList结尾处

void

RemoveAt(int index)

移除指定索引处的元素

void

Remove(Object value)

移除特定的对象

void

Clear()

从ArrayList中移除所有元素

HashTable(哈希表)

语法:HashTable  hash = new  HashTable();

  1. 哈希表每一个数据存放都是以“键/值对”的方式来进行的
  2. 哈希表不能通过索引下标访问元素,只能用foreach来访问
  3. 任意数据类型放入HashTable之后都会变成object类型,如果要拿出来使用的话,就要转化成相应的数据类型
  4. 按照“先进后出”的顺序存储

int

Count

返回ArrayList中实际包含的元素个数

void

Add(Object key,Object value)

将对象添加到HashTable结尾处

void

Remove(Object value)

移除特定的对象

void

Clear()

从HashTable中移除所有元素

课堂编程题:

做两个空方法,分别使用ArrayList和HashTable两个集合插入5名学生,添加完之后,都要删除“张三”这名学生,再删除集合里面最后一名学生,最后循环集合输出所有学生信息

最后把ArrayList和List<T> 、HashTable和Dictionary<K,V>进行代码互换,List<T>和Dictionary<K,V>集合的用法就该学会了。

List<T>泛型集合

语法:List<T>  list = new  List<T>();

  1. 容量会根据需要自动拓展
  2. 根据索引下标获取里面的元素:array[0],array[1]
  3. 删除其中一个元素之后,后面的元素会往前移,索引位置也会重新调整
  4. 按照“先进先出”顺序存储

Dictionary<K,V>泛型集合

语法:Dictionary<k,v>  dict = new  Dictionary<k,v>();

  1. 哈希表每一个数据存放都是以“键/值对”的方式来进行的
  2. 哈希表不能通过索引下标访问元素,只能用foreach来访问
  3. 按照“先进后出”的顺序存储

红豆带你从零学C#系列之:使用集合组织相关数据的更多相关文章

  1. 红豆带你从零学C#系列之——初识C#

    问题一:什么是C#? C#是微软公司在2000年新推出的一款运行在.NET Framework平台上面的编程语言,这个.NET Framework平台又怎么去理解呢?举个例子来说好了,一个土著族人只会 ...

  2. 红豆带你从零学C#系列—Visual Studio工具介绍、下载和安装

    一.Visual Studio的下载 Visual Studio(简称VS)是微软的一套完整的开发工具集,集成了能够开发并运行如C#.C++.VB.F#等程序的开发环境,目前最新的版本是Visual ...

  3. 红豆带你从零学C#系列之:初识继承与多态

    继承 现实生活当中,人类又可以根据职业分为:教师,学生,理发师,售货员 又比如飞机又有种类之分:直升飞机.客机.货机.战斗机等 在程序里面我们可能会通过创建类来描述这样的事物,比如学生类.教师类.理发 ...

  4. 红豆带你从零学C#系列之:开始C#编程(二)

    控制台程序开发之补充说明 你已经动手操作过我们上一篇文章中的控制台程序输入输出了吗朋友? 如果没有的话,强烈建议你先回去做一遍再来继续学习噢!上一篇文章地址:点击这里 一.    你问我答 问:代码是 ...

  5. 红豆带你从零学C#系列之:开始C#编程(一)

    让我们开始学习C#编程吧 作者:红豆西米露 交流QQ:937802080 前面的文章里给大家介绍了C#语言的一些基本认识,现在我们来开始做一个小程序吧! 在这里以我们以“控制台应用程序”来作演示. P ...

  6. 带你从零学ReactNative开发跨平台App开发(二)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  7. 带你从零学ReactNative开发跨平台App开发(一)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  8. 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  9. 带你从零学ReactNative开发跨平台App开发(十一)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

随机推荐

  1. SQLite使用报告

    SQLite简介 SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目. 不像常见的客户-服务器范例,SQLite引擎不是个程 ...

  2. BestCoder Round #14

    Harry And Physical Teacher Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  3. Android中对闹钟Alarm的事件处理

    之前的博文一直在持续分享Phone相关的知识也算是知识笔记,但在工作中难免遇到其他模块的一些问题,因此在解决这些问题的时候顺手将这些知识记录并分享出来.有些知识在不知道的时候会觉得非常难,当了解之后便 ...

  4. Android之TextView的样式类Span的使用具体解释

    Android中的TextView是个显示文字的的UI类,在现实中的需求中,文字有各式各样的样式.TextView本身没有属性去设置实现,我们能够通过Android提供的 SpannableStrin ...

  5. html系列教程--标题,水平线,注释以及段落

    HTML标题 标题,用来显示文章重要性的文字,包含了文章的主旨,类似于作文题目. 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的,由大到小一次排列,h1 ...

  6. window.onload()与$(document).ready()区别

    浏览器加载完DOM后,会通过javascript为DOM元素添加事件,在javascript中,通常使用window.onload()方法. 在jquery中,则使用$(document).ready ...

  7. 02151216--Ajax

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. qrcode各版本/各类型容量支持表

    1.qrcode共有40个版本,支持各种类型数据.个人一般统一转换成8位字节进行算法存储.(汉字 --uff8占用3个字节)

  9. git 克隆本地仓库

    如果要从本地仓库克隆到另一个地方使用如下命令 git clone d:/SourceRepository d:/DestinationRepository d:/SourceRepository:本地 ...

  10. ecside入门

    ECSide是有一个基于jsp tag的开源列表组件. 简单的说,它就是一组可以帮助你快速实现强大的列表的jsp标签. 它的工作原理很简单. 您将要展现的列表的数据集合(Collection),放入r ...