Comparison of several common traversal methods of C sets ArrayList Hashtable Listless thanTgreater than Dictionaryless thanK Vgreater than
- 2021-09-20 21:19:04
- OfStack
1. First, introduce ArrayList, Hashtable and List under 1 respectively
<
T
>
, Dictionary
<
K,V
>
1. ArrayList dynamic array, which is easy to use when saving values
2. Hashtable is stored as a key-value pair. value, and key
3.List
<
T
>
And Dictionary
<
K,V
>
It should be generic, which can save entity classes
2. Demonstration of traversal methods for various collections
1.ArrayList
ArrayList list = new ArrayList();
//for Traversal
for (int i = 0; i < list.Count; i++)
{
SE se = (SE)list[i];
Console.WriteLine(se.Name);
}
//foreach Traversal
foreach (Object obj in list)
{
SE se = (SE)list[i];
Console.WriteLine(se.Name);
}
2.Hashtable
Hashtable list = new Hashtable();
//Hashtable Can't be accessed by index, so traversing 1 A Hashtable Can only be used foreache() Method
// Traversal Key
foreach (Object obj in list.Keys)
{
Console.WriteLine((string)obj);
}
// Traversal Value
foreach (Object obj in list.Values)
{
SE se = (SE)obj;
Console.WriteLine(se.Name);
}
// Traversing at the same time, DictionaryEntry1 A structure
foreach (DictionaryEntry en in list)
{
Console.WriteLine(se.Keys);
COnsole.WriteLine(((SE)en.Value).Name);
}
3.List < T >
//for Traversal
for (int i = 0; i < list.Count; i++)
{
// Type conversion is not required during traversal
Console.WriteLine(list[i]);
}
//foreach Traversal
foreach (SE obj in list)
{
// Type conversion is not required during traversal
Console.WriteLine(obj);
}
4.Dictionary < K,V >
// Traversal Values
foreach (SE se in list.Values)
{
// Type conversion is not required during traversal
Console.WriteLine(se);
}
// Simultaneous traversal
foreach (KeyValuePair<string, SE> en in list)
{
Console.WriteLine(en.Key);
Console.WriteLine(en.Value.Name);
}
//KeyValuePair<TKey,TValue> Yes 1 Generic structure