集合

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<类型> :泛型集合

  1. 引用命名空间:using System.Collections.Generic;
  2. List<> : <> 标签 T: Type 类型
  3. 语法:List<> 对象名 = new List();
  4. 添加元素
    a> 对象名.Add(值); //一个一个进行添加
    b> 对象名.AddRange( 集合 );//一次性添加多个
  5. 集合元素个数
    对象名.Count;//集合个数
  6. 访问元素的方式
    通过下标进行访问,与数组访问一样
    对象名[下标];
  7. 判断元素中是否包含指定值
     bool isHave = 对象名.Contains(值);
	 
     if( isHave)
     { 包含 }
  1. 遍历元素
     for (int i = 0; i < arr.Count; i++)
     {
        arr[i];
     }
     foreach(<List中的数据类型> item in 集合对象名)
     {
        ......
     }

相对ArrayList无需类型转换

  1. 删除元素
    //1. 清空所有
       对象名.Clear();
    //2. 删除指定值的元素
       对象名.Remove(值);
    //3. 根据下标删除元素
       对象名.RemoveAt(下标);
    //4. 根据指定下标开始,删除指定数量的元素
       对象名.RemoveRange(开始下标,删除个数);

集合对比:

集合 数组 ArrayList List
长度 固定 可变 可变
添加 不能添加 Add()/AddRange() Add()/AddRange()
修改 数组[下标] 下标 下标
删除 不能 Remove()/RemoveAt() Remove()/RemoveAt()
插入 不能 Insert()/InsertAt() Insert()/InsertAt()

注:

  • List: 在添加数据时有数据判断,只能添加指定类型的数据,长度可变
  • ArrayList: 什么都可以添加,需要进行装箱折箱操作,影响性能,长度可变
    数组: 长度固定
上一篇:Java开发基础篇SE封装的写法


下一篇:华为nova7se和华为nova7的区别 哪个好