目录
2、SortedSet -- 排序集合 -- (去重、排序)
3、 SortedDictionary -- 排序字典 -- (排序)
4、SortedList -- 排序列表 -- 排序 -- 重复Key不可用Add
一、前期准备
引入using:
using System;
using System.Collections;
using System.Collections.Generic;
二、各类集合概念
----------------数组----------------
Array -- 数组
内存连续分配,
数据类型一样,
可以坐标访问,
读取快,增删慢,长度固定
ArrayList -- 数组列表
内存连续分配,
数据类型不一样,任何类型做object处理
可以坐标访问,
长度可变
List -- 列表
本质是ArrayList
内存连续分配
长度可变
读取快,增删慢
----------------链表----------------
LinkedList -- 链表
元素不连续分配,
节点值可以重复
找元素只能遍历,查找不方便
增删比较方便
Queue -- 队列
本质是链表
元素不连续分配
先进先出
Stack -- 栈
本质是链表
先进后出
----------------集合----------------
HashSet -- 哈希表
内容分散
数据不可重复(去重)
适用于:统计IP,好友合并
SortedSet -- 排序表
内容分散
数据自动排序,
数据不重复(去重)
----------------键值对----------------
HashTable -- 哈希表
key-value 类型
体积动态添加
将key计算一个地址,然后放入key - value
查找时,若地址与数据可以不对,则+1查找
查:一次定位 增删:一次定位
增删改查快
浪费空间,数据太多,重复定位,效率会降低
Dictionary -- 字典
key-value 类型
本质是HashTable
增删改查快
输出按插入的顺序
SortedDictionary -- 排序字典
key-value 类型
本质是HashTable
增删改查快
自动排序,输出
SortedList -- 排序列表
重复的key,用Add会报错
三、数组
1、Array -- 数组
内存连续分配,
数据类型一样,
可以坐标访问,
读取快,增删慢,长度固定
代码编写:
internal class Program
{
static void Main(string[] args)
{
//Array配置
int[] intArray = new int[2];
//Array 使用
intArray[0] = 1;
string[] stringArray = new string[] { "abc", "def" };
//输出显示
for (int i = 0;i < intArray.Length; i++)
{
Console.WriteLine(intArray[i]);
}
Console.WriteLine(stringArray[0]);
Console.WriteLine(stringArray[1]);
}
}
2、ArrayList -- 数组列表
内存连续分配,
数据类型不一样,任何类型做object处理
可以