using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ListHashTableTest
{
class Program
{
static void Main( string [] args)
{
User myUser;
DateTime dt1;
DateTime dt2;
dt1 = DateTime.Now;
List < User > list = new List < User > ();
for ( int i = 0 ; i < 50000 ;i ++ )
{
myUser = new User(i.ToString(), i.ToString());
list.Add(myUser);
}
dt2 = DateTime.Now;
Console.WriteLine( " List添加10000项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
Hashtable ht = new Hashtable();
for ( int i = 0 ; i < 50000 ;i ++ )
{
myUser = new User(i.ToString(), i.ToString());
ht.Add(i.ToString(), myUser);
}
dt2 = DateTime.Now;
Console.WriteLine( " HashTable添加10000项数据用时: " + dt2.Subtract(dt1).ToString());
string strHt = string .Empty;
string strList = string .Empty;
dt1 = DateTime.Now;
foreach (User user in list)
{
strList += user.Name;
}
dt2 = DateTime.Now;
Console.WriteLine( " List遍历10000项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
foreach (User user in ht.Values)
{
strHt += user.Name;
}
dt2 = DateTime.Now;
Console.WriteLine( " HashTable遍历100000项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
dt2 = DateTime.Now;
Console.WriteLine( " List查找一项项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
string aaa = ((User)(ht[ " 8907 " ])).Name;
dt2 = DateTime.Now;
Console.WriteLine( " HashTable查找一项数据用时: " + dt2.Subtract(dt1).ToString());
Console.Read();
}
}
class User
{
public string Name { get ; set ;}
public string Role { get ; set ;}
public User( string name, string role)
{
Name = name;
Role = role;
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ListHashTableTest
{
class Program
{
static void Main( string [] args)
{
User myUser;
DateTime dt1;
DateTime dt2;
dt1 = DateTime.Now;
List < User > list = new List < User > ();
for ( int i = 0 ; i < 50000 ;i ++ )
{
myUser = new User(i.ToString(), i.ToString());
list.Add(myUser);
}
dt2 = DateTime.Now;
Console.WriteLine( " List添加10000项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
Hashtable ht = new Hashtable();
for ( int i = 0 ; i < 50000 ;i ++ )
{
myUser = new User(i.ToString(), i.ToString());
ht.Add(i.ToString(), myUser);
}
dt2 = DateTime.Now;
Console.WriteLine( " HashTable添加10000项数据用时: " + dt2.Subtract(dt1).ToString());
string strHt = string .Empty;
string strList = string .Empty;
dt1 = DateTime.Now;
foreach (User user in list)
{
strList += user.Name;
}
dt2 = DateTime.Now;
Console.WriteLine( " List遍历10000项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
foreach (User user in ht.Values)
{
strHt += user.Name;
}
dt2 = DateTime.Now;
Console.WriteLine( " HashTable遍历100000项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
dt2 = DateTime.Now;
Console.WriteLine( " List查找一项项数据用时: " + dt2.Subtract(dt1).ToString());
dt1 = DateTime.Now;
string aaa = ((User)(ht[ " 8907 " ])).Name;
dt2 = DateTime.Now;
Console.WriteLine( " HashTable查找一项数据用时: " + dt2.Subtract(dt1).ToString());
Console.Read();
}
}
class User
{
public string Name { get ; set ;}
public string Role { get ; set ;}
public User( string name, string role)
{
Name = name;
Role = role;
}
}
}