数据结构
  描述数据之间的关系

  行为:添加数据,删除数据,插入数据,查找数据,修改数据

  追加数据:向这个结构的末尾添加一个数据
  删除数据:在这个结构中删除你指定的数据
  插入数据:向这个结构中某一个位置插入你指定的数据
  查找数据:可以查找并访问到该数据
  修改数据:可以对该结构指定的数据进行重新赋值

  线性,链式,树状,图形,散列

  链式:是非连续的内存空间,是每个数据分成三部分 头 数据 尾

  每个数据的尾部链接下一个数据的头部

  所以在内存不是连续的空间,而是一个一个的空间,通过头尾地址
  联系在一起

集合
  Collection是C#写好的数据结构类库

  ArrayList,HashTable,Stack,Queue

  如果你要使用这些数据结构类的模板,要先引用System.Collection

  就可以通过类名去实例化它的对象

  ArrayList
  是封装过后的数组,里面的元素容器为object类型
  这样ArrayList就适用于所有的数据类型
  因为object类型是所有类的父类,又因为里氏转化原则,父类可以
  装载子类,所以ArrayList可以装载所有数据类型

  属性:
    Count:记录我当前拥有多少个元素
    Capacity:记录我当前可以包含多少个元素

  方法:
    添加 .Add(object value)
    把当前这个对象添加到数组中

    删除 .Remove(object value)
    查询此元素,并移除第一个匹配的元素项

.    RemoveAt(int index)
    根据下标号移除该元素

    插入 .Insert(int index,Object value)
    把对应对象插入到对应的下标

    访问/修改:通过索引器下标号

    排序:.Sort();

    反转: .Reverse();

    检测是否包含: .Contains(object value)
    检测该集合是否包含该元素,如果包含返回true,不包含返回false

    查找索引:.IndexOf(object value)
    找到第一个匹配该元素的下标号并返回
    如果没找到,则返回-1

c# 数据结构 ArrayList的更多相关文章

  1. Java数据结构ArrayList

    Java数据结构ArrayList /** * <html> * <body> * <P> Copyright JasonInternational</p&g ...

  2. Java数据结构-ArrayList最细致的解析笔记

    ArrayList是一个类,这个类有一个数组参数elementData,ArrayList集合中的元素正是保存在这个数组中,它继承了数组查询的高性能,参考第3篇.ArrayList还封装了很多方法,便 ...

  3. java容器的数据结构-ArrayList,LinkList,HashMap

    ArrayList: 初始容量为10,底层实现是一个数组,Object[] elementData 自动扩容机制,当添加一个元素时,数组长度超过了elementData.leng,则会按照1.5倍进行 ...

  4. JAVA数据结构--ArrayList动态数组

    在计算机科学中,动态数组,可扩展数组,可调整数组,动态表,可变数组或数组列表是一种随机存取可变大小列表数据结构,允许添加或删除元素.它提供许多现代主流编程语言的标准库.动态数组克服了静态数组的限制,静 ...

  5. [数据结构] - ArrayList探究

    一 概述 ArrayList可以理解为动态数组,与java的数组相比,它的容量能动态曾长,ArrayList是List接口的可变数组的实现,允许包括null值在内的所有元素.除了实现List接口外,此 ...

  6. 数据结构 - ArrayList

    简介 ArrayList是一个动态数组.ArrayList几乎拥有数组所有优点,例如元素有序,索引访问等:并且一般情况下它还不会越界,添加元素时它能动态扩容.平时工作中ArrayList被我们广泛应用 ...

  7. 数据结构——ArrayList的源码分析(你所有的疑问,都会被解答)

    一.首先来看一下ArrayList的类图: 1,实现了RandomAccess接口,可以达到随机访问的效果. 2,实现了Serializable接口,可以用来序列化或者反序列化. 3,实现了List接 ...

  8. Java 的 ArrayList 的底层数据结构

    1. 数据结构--ArrayList源码摘要 ublic class ArrayList<E> extends AbstractList<E> implements List& ...

  9. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

    概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解Arra ...

随机推荐

  1. 分布式监控系统(类zabbix)

    目录: 为什么要做监控? 监控系统业务需求分析: 监控系统架构设计: 监控系统表结构设计: 一.为什么要做监控系统? 市面上已经有很多成熟的监控系统,例如zabbix.nagios,为什么自己开发监控 ...

  2. Eclipse+Spring boot开发教程

    一.安装 其实spring boot官方已经提供了用于开发spring boot的定制版eclipse(STS,Spring Tool Suite)直接下载使用即可,但考虑到可能有些小伙伴不想又多装个 ...

  3. Sonya and Robots(CodeForces 1004C)

    Since Sonya is interested in robotics too, she decided to construct robots that will read and recogn ...

  4. tensorFlow(六)应用-基于CNN破解验证码

    TensorFlow基础见前博客 简介 传统的验证码识别算法一般需要把验证码分割为单个字符,然后逐个识别.本教程将验证码识别问题转化为分类的问题,实现对验证码进行整体识别. 步骤简介 本教程一共分为四 ...

  5. Forth 采用Create,Does>定义新的词(word)& 延迟词技术

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  6. [SCOI2005]繁忙的都市

    emm...就是个最小生成树板子...我还能说啥... 为啥我早出生个十多年.../(ㄒoㄒ)/~~ 五六年也好啊.../(ㄒoㄒ)/~~ 呆码: #include<iostream> # ...

  7. 《JavaScript Dom 编程艺术》读书笔记-第6章

    本章继续对图片库进行改进,主要内容包括三个方面: 1. 把事件处理函数移出文档: 2. 向后兼容: 3. 确保可访问. 之前代码的HTML片段,此时如果浏览器不支持JS,图片显示也能正常工作,只是体验 ...

  8. Jmeter的察看结果树 出现乱码的解决方法

    在apache-jmeter-3.0\bin目录下, 用Notepad工具打开jmeter.properties文件 在文件中搜索encoding,可以搜素到1030行: #sampleresult. ...

  9. 扫描工具——Nmap用法详解

    Nmap使用 Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp. Nmap可以完成以下任务: 主机探测 端口扫描 版本检测 系统检测 支持探测脚本的编写 Nmap在实际中应 ...

  10. ubuntu 网络配置

    检查网络配置命令:ifconfig 一.通过配置文件配置 新手没怎么用过Ubuntu,所以走了不少弯路,网上找了很多方法,大都没对我起到帮助作用,所以把自己的配置方法写一写. Ubuntu上连了两块网 ...