集合
Posted 夜雨初凉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合相关的知识,希望对你有一定的参考价值。
ArrayList
1.引用命名空间:using System.Collections;
2.语法:ArrayList arr= new ArrayList();
3.添加元素:arr.Add(object value) //返回值是int类型,当前添加元素的索引
4.访问单个元素:(类型)arr[下标] //按指定索引(下标)取得对象
5.遍历:
//通过索引遍历
for (int i = 0; i < arr.Count; i++)
{
SE seFor = (SE)arr[i];
}
//通过对象遍历
foreach (Object obj in arr)
{
SE seForeach = (SE)obj;
}
6.删除:
//删除指定对象名的对象
arr.Remove(对象名)
//删除指定索引的对象
arr.RemoveAt(index)
//清除集合内的所有元素
arr.Clear()
集合初始化器
在声明集合时,就进行赋值:
ArrayList arr= new ArrayList()
{
new SE(){Name = "王小毛",Age = 26,
Gender = Gender.male,ID = "000",Popularity = 10},
new SE(){Name = "周新雨",Age = 22,
Gender = Gender.female,ID = "111",Popularity = 20},
new SE(){Name = "张烨",Age = 30,
Gender = Gender.male,ID = "222",Popularity = 20}
};
List<类型> :泛型集合
- 引用命名空间:using System.Collections.Generic;
- List<> : <> 标签 T: Type 类型
- 语法:List<> 对象名 = new List
(); - 添加元素
a> 对象名.Add(值); //一个一个进行添加
b> 对象名.AddRange( 集合 );//一次性添加多个 - 集合元素个数
对象名.Count;//集合个数 - 访问元素的方式
通过下标进行访问,与数组访问一样
对象名[下标]; - 判断元素中是否包含指定值
bool isHave = 对象名.Contains(值);
if( isHave)
{ 包含 }
- 遍历元素
for (int i = 0; i < arr.Count; i++)
{
arr[i];
}
foreach(<List中的数据类型> item in 集合对象名)
{
......
}
相对ArrayList无需类型转换
- 删除元素
//1. 清空所有
对象名.Clear();
//2. 删除指定值的元素
对象名.Remove(值);
//3. 根据下标删除元素
对象名.RemoveAt(下标);
//4. 根据指定下标开始,删除指定数量的元素
对象名.RemoveRange(开始下标,删除个数);
集合对比:
集合 | 数组 | ArrayList | List |
---|---|---|---|
长度 | 固定 | 可变 | 可变 |
添加 | 不能添加 | Add()/AddRange() | Add()/AddRange() |
修改 | 数组[下标] | 下标 | 下标 |
删除 | 不能 | Remove()/RemoveAt() | Remove()/RemoveAt() |
插入 | 不能 | Insert()/InsertAt() | Insert()/InsertAt() |
注:
- List: 在添加数据时有数据判断,只能添加指定类型的数据,长度可变
- ArrayList: 什么都可以添加,需要进行装箱折箱操作,影响性能,长度可变
数组: 长度固定
以上是关于集合的主要内容,如果未能解决你的问题,请参考以下文章
[ jquery 文档处理 insertBefore(content) before(content|fn) ] 此方法用于把所有匹配的元素插入到另一个指定的元素元素集合的前面,实现外部插入(代码片段