ArrayList (非泛型集合 using System.Collections;)
public void Text1(){
ArrayList al = new ArrayList ();
al.Add ("刘德化"); //添加元素
al.Add ("张学友");
//遍历方式1
for (int i = 0; i < al.Count; i++) {
Console.WriteLine (al[i]);
}
//遍历方式2
foreach (var item in al) {
Console.WriteLine (item);
}}
/* HashTable*/(非泛型集合)
//Key---value
//这里面Key是唯一的
Hashtable ht=new Hashtable();
ht.Add (001, "AAA");
ht.Add (002, "BBB");
ht.Add (003, "CCC");
//通过Key取value
Console.WriteLine (ht[001]);
//通过一个Key移除一个值
ht.Remove(001);
Console.WriteLine (ht[001]);
//全部清除
ht.Clear();
Console.WriteLine (ht[003]);
//stack:(非泛型集合)
先进后出的管理模式
//stack:都属于不安全的集合,(他可以存储多种数据类型)
//装箱和拆箱
//装就是把普通类型转换为object对象类型
//拆就是把装好的object拆成装箱之前的真实类型(强制转换)
//占用内存,消耗内存过大
Stack sk = new Stack ();
//向栈中添加元素
sk.Push (1);
sk.Push ("你好0");
sk.Push ("你好1");
sk.Push ("你好2");
Console.WriteLine (sk.Count);
返回栈顶元素并移除
string s=(string)sk.Pop();
Console.WriteLine (s);
返回栈顶元素不移除
string s1=(string)sk.Peek();
Console.WriteLine (s1);
Console.WriteLine ("-------");
判断莫个元素是否在栈中
bool isHas=sk.Contains(1);
if (isHas) {
Console.WriteLine ("Ture");
}
从Stack中移除所有对象
Console.WriteLine (a);
//遍历
foreach (var item in sk) {
Console.WriteLine (item);
}
//队列(queue)(非泛型集合)
Queue q = new Queue ();
//Queue
//添加元素到队列尾部
q.Enqueue (1);
q.Enqueue (2);
q.Enqueue (3);
//返回队列最前的元素,并删除
object obj=q.Dequeue();
Console.WriteLine (obj);
返回队列最前元素,不删除
q.Peek();
foreach (object item in q)
{
Console.WriteLine (item);
}
泛型集合(using System.Collections.Generic;)
* 集合:ArrayList(非泛型集合)
* ArrayList 是一个数组集合
* List
* 它属于动态改变长度的数组集合,不需要我们管
*
public void Text5()
{
List
Stopwatch sw = new Stopwatch ();//时间(using System.Diagnostics;)
sw.Start ();
for (int i = 0; i < 10000; i++) {
al1.Add (i);
}
sw.Stop ();
// Console.WriteLine ("时间是:{0}",sw.Elapsed);
Console.WriteLine ("22");
}
//练习1:设计一个学生系统,可以录入学生相关信息,并且能通过学号反向输出学生的全部信息
//练习2;根据上题,增加可以增加或删除学生功能
public void Text9()
{
//录入
List
bool d=true;
while(d){
Console.WriteLine ("请输入数子选则你想要的操作 1-录入 2-输入学号查看 3删除");
int f = int.Parse (Console.ReadLine ());
if(f==1){
Console.WriteLine ("请输入你要录入的学生学号,姓名,性别");
int a = int.Parse (Console.ReadLine ());
string b = Console.ReadLine ();
string c = Console.ReadLine ();
l.Add (new Student (a, b, c));
foreach (Student item in l) {
Console.WriteLine ("学号为:{0} 姓名为:{1} 性别为:{2} ", item.id, item.name, item.age);
}
}
if (f == 2) {
Console.WriteLine ("请输入学号查看该学生信息");
int g = int.Parse (Console.ReadLine ());
foreach (Student item in l) {
Console.WriteLine ("学号为:{0} 姓名为:{1} 性别为:{2} ", g, item.name, item.age);
}
}
if (f == 3) {
Console.WriteLine ("请输入学号删除该学生信息");
int v = int.Parse (Console.ReadLine ());
for (int j = 0; j < l.Count; j++) {
//Console.WriteLine ("学号为:{0} 姓名为:{1} 性别为:{2} ", l [j].id, l [j].name, l [j].age);
if (l [j].id == v) {
l.Remove (l [j]);
//Console.WriteLine ("删除成功!");
}
Console.WriteLine ("剩余学生:");
Console.WriteLine ("学号为:{0} 姓名为:{1} 性别为:{2} ", l [j].id, l [j].name, l [j].age);
}
}
}
}
class Student
{
public int id;
public string name;
public string age;
public Student(int id,string name,string age)
{
this.id=id;
this.name=name;
this.age=age;
}
}