1.集合概念
集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的
2.ArrayList集合
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 ArrayList 类位于 java.util 包中,使用前需要引入它
4、泛型
泛型是程序设计语言的一种特性,允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。
5.栈(后进先出)
定义
只允许在一端进行插入或删除操作的线性表。首先,栈是一种线性表,但限定这种线性表只能在某一段进行插入和删除操作。
栈顶(Top):线性表允许进行插入和删除的一端。
栈底(Bottom):固定的,不允许进行插入和删除的另一端。
空栈:不含任何元素。
如上图:a1为栈底元素,an为栈顶元素。由于栈只能在栈顶进行插入和删除操作,故进栈次序依次为a1,a2,... ,an 而出栈次序为an,...,a2,a1。栈的明显的操作特征为后进先出(Last In First Out,LIFO),故又称 后进先出的线性表。
6.队列
队列(queue)是一种先进先出的、操作受限的线性表。
队列这种数据结构非常容易理解,就像我们平时去超市买东西,在收银台结账的时候需要排队,先去排队的就先结账出去,排在后面的就后结账,有其他人再要过来结账,必须排在队尾不能在队中间插队。
7.字典
无序字典
Dictionary<int, string> d = new Dictionary<int, string>();
d.Add(1, "a");
d.Add(3, "c");
d.Add(4, "d");
d.Add(2, "b");
foreach (var item in d.Keys)
{
Console.WriteLine(item+"\t"+d[item]);
}
有序字典
SortedDictionary<int, string> d = new SortedDictionary<int, string>();
d.Add(1, "a");
d.Add(3, "c");
d.Add(4, "d");
d.Add(2, "b");
//正序
foreach (var item in d.Keys)
{
Console.WriteLine(item + "\t" + d[item]);
}
//倒序
foreach (var item in d.Reverse())
{
Console.WriteLine(item.Key + "\t" + item.Value);
}