Hashtable(哈希表)
由一对(key,value)类型的元素组成的集合
所有元素的key必须唯一
key→value是一对一的映射,即根据key就可以立刻在集合中找到所需元素
Hashtable方法
Add(key,value)
根据key而不是根据索引查找,因此速度很快
using UnityEngine;
using System.Threading;
public class Test : MonoBehaviour
{
private void Start()
{
TestHashSet();
}
public static void TestHashSet()
{
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(1);
nums.Add(1);
Debug.Log(nums.Count);
}
}
按道理3次nums.Add(1),nums.Count应该为3,但是因为HashSet拒绝重复,因此为1.
我们可以借用这个特性来获取n个随机不重复数字
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Threading;
public class Test : MonoBehaviour
{
private void Start()
{
TestHashSet();
}
public static void TestHashSet()
{
HashSet<int> nums = new HashSet<int>();
System.Random r = new System.Random();
while (nums.Count != 5)
{
nums.Add(r.Next(0, 5));
}
foreach (var item in nums)
{
Debug.Log("01组 = "+item);
}
}
}