本文整理汇总了C#中HashMap.Overwrite方法的典型用法代码示例。如果您正苦于以下问题:C# HashMap.Overwrite方法的具体用法?C# HashMap.Overwrite怎么用?C# HashMap.Overwrite使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HashMap
的用法示例。
在下文中一共展示了HashMap.Overwrite方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
#if true
const int MaxNum = 1024*100;
keyValue[] keyvalues = new keyValue[MaxNum];
System.Random random = new Random();
for(int i=0; i<MaxNum; ++i){
int len = random.Next()%12+4;
int notAlnum = len/3;
keyvalues[i].key_ = System.Web.Security.Membership.GeneratePassword(len, notAlnum);
keyvalues[i].value_ = string.Format("{0}", i);
}
for(int count = 0; count < 2; ++count) {
{
//TinyCollections
TinyCollections.Hopscotch<string, string> strToStr = new TinyCollections.Hopscotch<string, string>();
stopwatch.Reset();
stopwatch.Start();
for(int i = 0; i < MaxNum; ++i) {
strToStr.Overwrite(keyvalues[i].key_, keyvalues[i].value_);
}
for(int i = MaxNum - 2; 0 <= i; i -= 2) {
strToStr.Remove(keyvalues[i].key_);
}
for(int i = 0; i < MaxNum; i += 2) {
strToStr.Overwrite(keyvalues[i].key_, keyvalues[i].value_);
}
stopwatch.Stop();
System.Console.WriteLine("Tiny:InsertRemove " + stopwatch.Elapsed);
stopwatch.Reset();
stopwatch.Start();
for(int i = 0; i < MaxNum; ++i) {
string value;
if(strToStr.TryGetValue(keyvalues[i].key_, out value) && value == keyvalues[i].value_) {
} else {
System.Console.WriteLine("error");
}
}
stopwatch.Stop();
System.Console.WriteLine("Tiny:Find {0} Memory {1}", stopwatch.Elapsed, GC.GetTotalMemory(true));
}
{
//System.Collections.Generic.Dictionary
Dictionary<string, string> direcionary = new Dictionary<string, string>();
stopwatch.Reset();
stopwatch.Start();
for(int i = 0; i < MaxNum; ++i) {
direcionary[keyvalues[i].key_] = keyvalues[i].value_;
}
for(int i = MaxNum - 2; 0 <= i; i -= 2) {
direcionary.Remove(keyvalues[i].key_);
}
for(int i = 0; i < MaxNum; i += 2) {
direcionary[keyvalues[i].key_] = keyvalues[i].value_;
}
stopwatch.Stop();
System.Console.WriteLine("Dictionary:InsertRemove " + stopwatch.Elapsed);
stopwatch.Reset();
stopwatch.Start();
for(int i = 0; i < MaxNum; ++i) {
string value;
if(direcionary.TryGetValue(keyvalues[i].key_, out value) && value == keyvalues[i].value_) {
} else {
System.Console.WriteLine("error");
}
}
stopwatch.Stop();
System.Console.WriteLine("Dictionary:Find {0} Memory {1}", stopwatch.Elapsed, GC.GetTotalMemory(true));
}
}
#else
const int MaxNum = 1024*100;
keyValueInt[] keyvalues = new keyValueInt[MaxNum];
System.Random random = new System.Random();
for(int i=0; i<MaxNum; ++i){
keyvalues[i].key_ = random.Next();
keyvalues[i].value_ = i;
}
for(int count=0; count<2; ++count) {
{
//TinyCollections
TinyCollections.HashMap<int, int> strToStr = new HashMap<int, int>();
stopwatch.Reset();
stopwatch.Start();
//.........这里部分代码省略.........