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 

Related articles: