using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class HashTableAndDictionaryTest : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
//创建实例 增删操作
Hashtable ht = new Hashtable();
//key,value都是object
ht.Add("江苏", "南京");
ht.Add("四川", "成都");
ht.Add("湖北", "武汉");
ht.Add("报警", "110");
ht.Add("急救", "120");
string capital = ht["江苏"].ToString();
int num = Convert.ToInt32(ht["报警"]);
Debug.Log("ButtonDown" + capital + num);
ht.Remove("四川");
//遍历
//foreach (DictionaryEntry item in ht)
//{
// Debug.Log(item.Key);
// Debug.Log(item.Value);
//}
//foreach (string key in ht.Keys)//遍历Key InvalidCastException:类型不对
//{
// Debug.Log(key);
//}
//foreach (string value in ht.Values)//遍历Value
//{
// Debug.Log(value);
//}
//排序
ArrayList al = new ArrayList(ht.Keys);
al.Sort();
foreach (DictionaryEntry item in ht)
{
Debug.Log(item.Key);
}
//清除
ht.Clear();
}
}
}
- 单线程里面用字典,多线程里面用哈希表。
- 字典的排序就是按照插入的顺序来的,而哈希表未必是。
- 哈希表允许单线程写入,多线程读取。
- 哈希表最大的优势在于其索引方式,它是经过散列处理过的,在数据量大的时候尤其如此。