博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象 集合篇
阅读量:5830 次
发布时间:2019-06-18

本文共 1430 字,大约阅读时间需要 4 分钟。

集合概念:

集合本质上是一个动态数组

2.命令引用:using system.collections
2.1 Arratlist 属性(count) 数量 、属性2(capactity) 有几个位子 //集合里包括属性和方法
2.2 arratlist list =new arraylist();
list.add(欲添加的值) object 类型的 为什么这里可以使object 类型的? 是因为object 是所有类型的父类,父类引用指向子类对象 所有类型都可以放在集合中去。

2.3 集合与数组不同之处在于数组的元素一旦定死则无法变动,而集合更加灵活的原理在于,一旦超出数组的位置之后,先创建一个比原数组的大于原数组的长度的四个元素的新元素、将旧数组的元素值赋予新数组的之后将原旧数组销毁,并且将新的元素填满。注,比如用add加入了大于四个元素的位置,它就会显示8个。

public class Class1

{

public object[] Array { get; set; } //封装一个class 1 的集合

public int Count { get; set; } 定义属性
public Class1()
{

 

Array = new object[4]; // 无参的构造函数创建一个旧的数组

}

public void add(object o)

{

if (Array.Length == Count) //传递一个有参的参数 并且如果元素已满
{ 创建一个新的数组+4 并且将新的引用指向旧的数组引用

object[] a = new object[Array.Length + 4];

Array = a;

}

Count++;

}

}

}

ArrayList: 属性和方法
Add(object o) 添加元素
AddRange() 添加范围

二 new 对象的时候 对象的引用指向集合中的元素位置 存的只是引用地址 如果打印的话,那么只会打出类名

注:
打印一个输出一个对象实际上是调用该对象的tostring 方法()
如果要打印对象的信息、那就必须要重写。因为object 父类中是虚方法。

2.移除元素

Remove (object o)根据值来删除
删除对象的时候,由于集合里面存放的是引用地址,而引用地址又是原来的地址,删除时虽然填入的是相同的值,但是实际上在删除查找的时候并没有找到这个地址,所以删除不了
如果要删除,则定义一个变量,利用这个变量来删除
循环删除的元素,删除了第0个值,之后循环+1 数组长度-1 原来的1值变成第0值,而循环的数为1,则删第1个数,而不是删除第0个数值。
RemoveAT (int index) 根据提供的下标删除指定的元素 //第几个元素

 

List<T> 泛型

T 是类型参数 使用时由使用者来指定

对比:
Arravlist 的优点:

什么都能放、非常的灵活

缺点:

1.类型不安全
2.操作台麻烦
3.效率太低

2.装箱与拆箱

将基本类型转成object 装箱操作

将object 类型还原成基本类型 拆箱操作

list<T>和Arraylist 操作方法没有任何区别

 4.枚举类型

enum Color{     Red,    Green,    Blue}

转载于:https://www.cnblogs.com/liyiyong/p/5099846.html

你可能感兴趣的文章
33蛇形填数
查看>>
选择排序
查看>>
SQL Server 数据库的数据和日志空间信息
查看>>
前端基础之JavaScript
查看>>
自己动手做个智能小车(6)
查看>>
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
Lync 客户端单独安装激活步骤
查看>>
eclipse集成weblogic开发环境的搭建
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
【jc2-1】 网络层IP编址
查看>>
我的友情链接
查看>>
apahce安装时的APR问题解决方法
查看>>
Citrix今年9月份就会出XenServer的新版本
查看>>
MySQL数据库高并发优化配置
查看>>
写Use Case的一种方式,从oracle的tutorial抄来的
查看>>