集合Arraylist
Posted 柴亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合Arraylist相关的知识,希望对你有一定的参考价值。
集合
1、集合类型是object,包含所有的类型。
2、需要先看一下开头是否有using System.Collections;
3、属性:.count,获取Arraylist的元素长度,相等于length.
方法
4、.Add()将对象添加到Arraylist中;
5、.clear(),从Arraylist中移除所有的元素;
6、.clone(),从Arraylist中的创建浅表副本;
7、.contains(),确定某元素在Arraylist中;
8、.indexof(),已重载,集合中某个值得第一个匹配项的从零开始的索引;
9、.insert(),将元素插入指定的位置;
10、LatIndexOf(),已重载,返回集合中或它一部分的某个值最后一个匹配从后开始的索引;
11、.Remove(),从Arraylist中移除特定对象的第一个匹配项;
12、.RemoveAt(),移除Arraylist指定索引处的元素;
13、.sort(),已重载,对Arraylist或他的一部分元素进行升序排序;
14、.Reverse(),翻转整个集合;
Arraylist集合事例:
ArrayList al = new ArrayList();//初始化
al.Add(3);
al.Add(5);
al.Add(1);
al.Add(8);
al.Add(4);
错误 因为5号索引之前就没有,所以直接赋值不可以
al[5] = 9;
al[4] = 9;
查看个数
Console.WriteLine(al.Count);
清空集合
al.Clear();
克隆集合
ArrayList al1 = new ArrayList();
al1 = (ArrayList)al.Clone();
Console.WriteLine(al1[2]);
判断是否包含某个元素
Console.WriteLine(al.Contains(6));
查看第一次出现该元素的索引号 若没有,返回-1
Console.WriteLine(al.IndexOf(1));
查看最后一次出现该元素的索引号
Console.WriteLine(al.LastIndexOf(9));
在1号索引插入一个4
al.Insert(1,4);
Console.WriteLine(al[1]);
移除某个元素的第一次出现的值
al.Remove(4);
Console.WriteLine(al[1]);
移除某个索引号上的元素
al.RemoveAt(3);
Console.WriteLine(al[3]);
//for (int i = 0; i < a1.Count; i++)
//{
// Console.WriteLine(al[i]);
//}
//Console.WriteLine();
//al.Sort();//排序,升序
//for (int i = 0; i < al.Count; i++)
//{
// Console.WriteLine(al[i]);
//}
////改为降序
//al.Reverse();//翻转集合
// Console.ReadLine();
练习:
//将每个人的姓名,年龄存入集合
//按照年龄从大到小排列
//姓名也需要排列
//需要知道年龄最大的是谁
//Console.Write("请输入人数:");
//int n = int.Parse(Console.ReadLine());
//ArrayList xm = new ArrayList();
//ArrayList age = new ArrayList();
//for (int i = 0; i < n; i++)
//{
// Console.Write("请输入第{0}个人的姓名:", (i + 1));
// xm.Add(Console.ReadLine());
// Console.Write("请输入{0}个人的年龄:", (i + 1));
// age.Add(int.Parse(Console.ReadLine()));
//}
//for (int i = 0; i < n; i++)
//{
// for (int j = i; j < n - 1; j++)
// {
// if (int.Parse(age[i].ToString()) < int.Parse(age[j +1].ToString()))
// {
// int zh = int.Parse(age[i].ToString());
// age[i] = age[j + 1];
// age[j + 1] = zh;
// string z = xm[i].ToString();
// xm[i] = xm[j + 1];
// xm[j + 1] = z;
// }
// }
//}
//Console.WriteLine("年龄最大的是{0},是{1}岁", xm[0], age[0]);
//Console.ReadLine();
第二种,一个集合的做法
// Console.WriteLine("请输入人数:");
// int a = int.Parse(Console.ReadLine());
// ArrayList jh = new ArrayList();
// for (int i = 0; i < a; i++)
// {
// Console.Write("请输入第{0}人的姓名:", i + 1);
// jh.Add(Console.ReadLine());
// Console.Write("请输入第{0}人的年龄:", i + 1);
// jh.Add(Console.ReadLine());
// }
// Console.WriteLine();
// for (int i = 1; i < a * 2; i = i + 2)
// {
// for (int j = i; j < a * 2 - 2; j = j + 2)
// {
// if (int.Parse(jh[i].ToString()) < int.Parse(jh[j + 2].ToString()))
// {
// //int huan = 0;
// int huan = int.Parse(jh[i].ToString());
// jh[i] = jh[j + 2];
// jh[j + 2] = huan;
// //string o = "";
// string o = jh[i - 1].ToString();
// jh[i - 1] = jh[j + 1];
// jh[j + 1] = o;
// }
// }
// }
//Console.WriteLine("年龄最大的为:"+jh[0]+"年龄为:"+jh[1]);
//Console.ReadLine();
以上是关于集合Arraylist的主要内容,如果未能解决你的问题,请参考以下文章