概念:
按照线性的存储结构存储数据的表,就叫做线性表。
线性表的一大特点:就是按照线性结构来进行存储。
线性表是线性结构的一种抽象类。
QQ截图20161231114821.png
CLR中的线性表
C# 1.1 提供了一个非泛型接口 IList 接口,接口中的项是object,实现了IList接口的类有:
ArrayList;
ListDictionary;
StringCollection;
StringDictionary;
C# 2.0 提供了泛型的IList<T>接口,实现了List<T>接口的类有List<T>
C#中已经内置了List<T>泛型类的线性表的数据结构。着重学习List<T>的线性结构。
代码块:
namespace 线性表
{
class Program
{
static void Main(string[] args)
{
//1.使用BCL中的List线性表
//List<>是位于System.Collections.Generic命名空间下面的
//List<>是泛型,所以尖括号里可以存储任何类型
//下面例子以存储字符串string类型为例,声明一个字符串的泛型List数组:
List<string> strList = new List<string>();
//用Add方法,往数组里面添加各种字符串元素,添加之后就是一个带元素的线性表了。
//当添加元素的同时,元素自身会有个相应位置的数组的索引
//例如:
strList.Add("123");//索引:0
strList.Add("456");//索引:1
strList.Add("789");//索引:2
//我们可以直接通过索引器访问索引对应的元素,例如:
Console.WriteLine(strList[1]);
Console.WriteLine(strList.Contains("123"));//Contains方法用来判断是否包含这个元素
strList.Insert(0,"111213");
Console.WriteLine(strList[0]);
Console.WriteLine(strList[1]);
//List里面还有很多方法,例如:
//Remove方法可以移除指定的字符串元素
strList.Remove("789");
//RemoveAt(),则可以通过索引移除
//移除"789"后可以同过Count方法获取当前List的元素的个数,此时个数应为2
Console.WriteLine(strList.Count);
//Clear方法则会清空数组里面所有的数据:
strList.Clear();
Console.WriteLine(strList.Count);//由于用了Clear方法,所以此时个数Count为0
//如果要查看更多List方法,则鼠标移到List上选中List单词,按F12即可进入详解
Console.WriteLine( strList.Contains("123"));
Console.ReadKey();
}
}
}