Csharp/C Sharp by API/System.Collections/ArrayList — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Текущая версия на 12:08, 26 мая 2010

ArrayList.Add

  

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
class Program {
    static void Main(string[] args) {
        ArrayList baseballTeams = new ArrayList();
        baseballTeams.Add("S");
        baseballTeams.Add("r");
        baseballTeams.Add("F");
        string[] myStringArray = new string[2];
        myStringArray[0] = "G";
        myStringArray[1] = "L";
        baseballTeams.AddRange(myStringArray);
        foreach (string item in baseballTeams) {
            Console.Write(item + "\n");
        }
    }
}


ArrayList.AddRange

  
using System;
using System.Collections;
using System.Collections.Specialized;
class MyClass{
   public string MyName="";   
}
class MainClass
{
  static void Main(string[] args)
  {
    ArrayList classList = new ArrayList();
    classList.AddRange(new MyClass[] { new MyClass(), 
                                           new MyClass(), 
                                           new MyClass()});
    Console.WriteLine("Items in List: {0}", classList.Count);
    // Print out current values. 
    foreach(MyClass c in classList)
    {
      Console.WriteLine("MyClass name: {0}", c.MyName);  
    }
  }
}


ArrayList.BinarySearch

  
using System;
using System.Collections;
class Album : IComparable, ICloneable {
    private string _Title;
    private string _Artist;
    public Album(string artist, string title) {
        _Artist = artist;
        _Title = title;
    }
    public string Title {
        get {
            return _Title;
        }
        set {
            _Title = value;
        }
    }
    public string Artist {
        get {
            return _Artist;
        }
        set {
            _Artist = value;
        }
    }
    public override string ToString() {
        return _Artist + ",\t" + _Title;
    }
    public int CompareTo(object o) {
        Album other = o as Album;
        if (other == null)
            throw new ArgumentException();
        if (_Artist != other._Artist)
            return _Artist.rupareTo(other._Artist);
        else
            return _Title.rupareTo(other._Title);
    }
    public object Clone() {
        return new Album(_Artist, _Title);
    }
}
class TitleComparer : IComparer {
    public int Compare(object l, object r) {
        Album left = l as Album;
        Album right = r as Album;
        if ((left == null) || (right == null))
            throw new ArgumentException();
        if (left.Title != right.Title)
            return left.Title.rupareTo(right.Title);
        else
            return left.Artist.rupareTo(right.Artist);
    }
}
class Class1 {
    static void Main(string[] args) {
        ArrayList arr = new ArrayList();
        arr.Add(new Album("G", "A"));
        arr.Add(new Album("B", "G"));
        arr.Add(new Album("S", "A"));
        arr.Sort();
   
        try {
            foreach (Album a in arr) {
                Console.WriteLine(a);
            }
        } catch (System.InvalidCastException e) {
        }
        arr.Sort(new TitleComparer());
        foreach (Album a in arr) {
            Console.WriteLine(a);
        }
        Album l = new Album("L", "G");
        arr.Sort();
        int index = arr.BinarySearch(l);
        Console.WriteLine(index.ToString());
        arr.Sort(new TitleComparer());
        index = arr.BinarySearch(l, new TitleComparer());
        Console.WriteLine(index.ToString());
    }
}


ArrayList.Capacity

  
using System; 
using System.Collections; 
 
public class ArrayListDemo { 
  public static void Main() { 
    ArrayList al = new ArrayList(); 
     
    Console.WriteLine("Initial capacity: " + al.Capacity); 
    Console.WriteLine("Initial number of elements: " + al.Count); 
 
    Console.WriteLine(); 
 
    Console.WriteLine("Adding 6 elements"); 
    // Add elements to the array list 
    al.Add("C"); 
    al.Add("A"); 
    al.Add("E"); 
    al.Add("B"); 
    al.Add("D"); 
    al.Add("F"); 
 
    Console.WriteLine("Current capacity: " + 
                       al.Capacity); 
    Console.WriteLine("Number of elements: " + 
                       al.Count); 
 
    // Display the array list using array indexing. 
    Console.Write("Current contents: "); 
    for(int i=0; i < al.Count; i++) 
      Console.Write(al[i] + " "); 
    Console.WriteLine("\n"); 
 
    Console.WriteLine("Removing 2 elements"); 
    // Remove elements from the array list. 
    al.Remove("F"); 
    al.Remove("A"); 
 
    Console.WriteLine("Current capacity: " + 
                       al.Capacity); 
    Console.WriteLine("Number of elements: " + 
                       al.Count); 
 
    // Use foreach loop to display the list. 
    Console.Write("Contents: "); 
    foreach(char c in al) 
      Console.Write(c + " "); 
    Console.WriteLine("\n"); 
 
    Console.WriteLine("Adding 20 more elements"); 
    // Add enough elements to force al to grow. 
    for(int i=0; i < 20; i++) 
      al.Add((char)("a" + i)); 
    Console.WriteLine("Current capacity: " + 
                       al.Capacity); 
    Console.WriteLine("Number of elements after adding 20: " + 
                       al.Count); 
    Console.Write("Contents: "); 
    foreach(char c in al) 
      Console.Write(c + " "); 
    Console.WriteLine("\n"); 
 
    // Change contents using array indexing. 
    Console.WriteLine("Change first three elements"); 
    al[0] = "X"; 
    al[1] = "Y"; 
    al[2] = "Z"; 
    Console.Write("Contents: "); 
    foreach(char c in al) 
      Console.Write(c + " "); 
    Console.WriteLine(); 
  } 
}


ArrayList.Clear()

  
using System;
using System.Collections;
class MainClass
{
  static void Main(string[] args)
  {
    ArrayList a = new ArrayList(10);
    int x = 0;
    a.Add( ++x);
    a.Add( ++x);
    a.Add( ++x);
    a.Add( ++x);
    a.Remove(x);
    
    a.RemoveAt(0);
    a.Clear();
  }
}


ArrayList.Clone

  
using System;
using System.Collections;
public class Starter {
    public static void Main(string[] argv) {
        ArrayList al1 = new ArrayList();
        foreach (string arg in argv) {
            al1.Add(int.Parse(arg));
        }
        al1.Sort();
        ArrayList al2 = (ArrayList)al1.Clone();
        for (int count = 0; count < al2.Count; ++count) {
            al2[count] = ((int)al2[count]) * 2;
        }
        foreach (int number in al2) {
            Console.WriteLine(number);
        }
    }
}


ArrayList.Contains

 

using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);

    if (myArrayList.Contains("text"))
    {
      int index = myArrayList.IndexOf("text");
      Console.WriteLine("myArrayList does contain the word "text"");
      Console.WriteLine(""text" first occurs at index " + index);
      index = myArrayList.LastIndexOf("text");
      Console.WriteLine(""text" last occurs at index " + index);
    }
  }
}


ArrayList.CopyTo

  
using System;
using System.Collections;
class MainClass
{
    public static void Main(string[] args)
    {
        // Create a new ArrayList and populate it.
        ArrayList list = new ArrayList(5);
        list.Add("B");
        list.Add("G");
        list.Add("J");
        list.Add("S");
        list.Add("M");
        
        string[] array1 = new string[list.Count];
        list.CopyTo(array1, 0);
        Console.WriteLine("Array 1:");
        foreach (string s in array1) 
        { 
            Console.WriteLine("\t{0}",s); 
        }
    
    }
}


ArrayList.GetEnumerator()

  
using System; 
using System.Collections; 
 
class MainClass {  
  public static void Main() { 
    ArrayList list = new ArrayList(1); 
 
    for(int i=0; i < 10; i++) 
      list.Add(i); 
 
    IEnumerator etr = list.GetEnumerator(); 
    while(etr.MoveNext())  
      Console.Write(etr.Current + " "); 
 
    Console.WriteLine(); 
 
     
    etr.Reset(); 
    while(etr.MoveNext())  
      Console.Write(etr.Current + " "); 
 
    Console.WriteLine(); 
  } 
}


ArrayList.GetRange

 
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);
    ArrayList anotherArrayList = myArrayList.GetRange(1, 2);
    DisplayArrayList("anotherArrayList", anotherArrayList);
  }
  public static void DisplayArrayList(string arrayListName, ArrayList myArrayList)
  {
    for (int i = 0; i < myArrayList.Count; i++){
      Console.WriteLine(arrayListName + "[" + i + "] = " +
        myArrayList[i]);
    }
  }
}


ArrayList.IndexOf

 

using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);

    if (myArrayList.Contains("text"))
    {
      int index = myArrayList.IndexOf("text");
      Console.WriteLine("myArrayList does contain the word "text"");
      Console.WriteLine(""text" first occurs at index " + index);
      index = myArrayList.LastIndexOf("text");
      Console.WriteLine(""text" last occurs at index " + index);
    }
  }
}


ArrayList.Insert

  
using System;
using System.Collections;
using System.Collections.Specialized;
class MyClass{
   public string MyName="";   
}
class MainClass
{
  static void Main(string[] args)
  {
    ArrayList classList = new ArrayList();
    classList.AddRange(new MyClass[] { new MyClass(), 
                                           new MyClass(), 
                                           new MyClass()});
    Console.WriteLine("Items in List: {0}", classList.Count);
    classList.Insert(2, new MyClass());
    Console.WriteLine("Items in classList: {0}", classList.Count);
    // Print out current values. 
    foreach(MyClass c in classList)
    {
      Console.WriteLine("MyClass name: {0}", c.MyName);  
    }
  }
}


ArrayList.InsertRange()

  
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    
    myArrayList.Add("is");
    myArrayList.Insert(1, "is");
    string[] myStringArray = {"a", "test"};
    myArrayList.AddRange(myStringArray);
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.InsertRange(myArrayList.Count, anotherStringArray);
    DisplayArrayList("myArrayList", myArrayList);
  }
  public static void DisplayArrayList(string arrayListName, ArrayList myArrayList)
  {
    for (int i = 0; i < myArrayList.Count; i++){
      Console.WriteLine(arrayListName + "[" + i + "] = " +
        myArrayList[i]);
    }
  }
  
}


ArrayList.IsFixedSize

  
 
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    
    Console.WriteLine("myArrayList.IsFixedSize = " + myArrayList.IsFixedSize);
    Console.WriteLine("myArrayList.IsReadOnly = " + myArrayList.IsReadOnly);
  }
}


ArrayList.IsReadOnly

  
 
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    
    Console.WriteLine("myArrayList.IsFixedSize = " + myArrayList.IsFixedSize);
    Console.WriteLine("myArrayList.IsReadOnly = " + myArrayList.IsReadOnly);
  }
}


ArrayList.LastIndexOf

 

using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);

    if (myArrayList.Contains("text"))
    {
      int index = myArrayList.IndexOf("text");
      Console.WriteLine("myArrayList does contain the word "text"");
      Console.WriteLine(""text" first occurs at index " + index);
      index = myArrayList.LastIndexOf("text");
      Console.WriteLine(""text" last occurs at index " + index);
    }
  }
}


ArrayList.Remove

 

using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);

    myArrayList.RemoveAt(0);
    myArrayList.Remove("text");
    myArrayList.RemoveRange(3, 2);
    DisplayArrayList("myArrayList", myArrayList);
  }
  public static void DisplayArrayList(string arrayListName, ArrayList myArrayList)
  {
    for (int i = 0; i < myArrayList.Count; i++){
      Console.WriteLine(arrayListName + "[" + i + "] = " +
        myArrayList[i]);
    }
  }
}


ArrayList.RemoveAt

  
using System;
using System.Collections;
class MainClass
{
  static void Main(string[] args)
  {
    ArrayList a = new ArrayList(10);
    int x = 0;
    a.Add( ++x);
    a.Add( ++x);
    a.Add( ++x);

    a.Remove(x);
    
    a.RemoveAt(0);
  }
}


ArrayList.RemoveRange

 

using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);

    myArrayList.RemoveAt(0);
    myArrayList.Remove("text");
    myArrayList.RemoveRange(3, 2);
    DisplayArrayList("myArrayList", myArrayList);
  }
  public static void DisplayArrayList(string arrayListName, ArrayList myArrayList)
  {
    for (int i = 0; i < myArrayList.Count; i++){
      Console.WriteLine(arrayListName + "[" + i + "] = " +
        myArrayList[i]);
    }
  }
}


ArrayList.Reverse()

 
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);
    myArrayList.Reverse();
    DisplayArrayList("myArrayList", myArrayList);
  }
  public static void DisplayArrayList(string arrayListName, ArrayList myArrayList)
  {
    for (int i = 0; i < myArrayList.Count; i++){
      Console.WriteLine(arrayListName + "[" + i + "] = " +
        myArrayList[i]);
    }
  }
}


ArrayList.SetRange

 
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);

    DisplayArrayList("myArrayList", myArrayList);
  }
  public static void DisplayArrayList(string arrayListName, ArrayList myArrayList)
  {
    for (int i = 0; i < myArrayList.Count; i++){
      Console.WriteLine(arrayListName + "[" + i + "] = " +
        myArrayList[i]);
    }
  }
  
}


ArrayList.Sort()

  
/*
C#: The Complete Reference 
by Herbert Schildt 
Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Sort and search an ArrayList. 
 
using System; 
using System.Collections; 
 
public class SortSearchDemo { 
  public static void Main() { 
    // create an array list 
    ArrayList al = new ArrayList(); 
     
    // Add elements to the array list 
    al.Add(55); 
    al.Add(43); 
    al.Add(-4); 
    al.Add(88); 
    al.Add(3); 
    al.Add(19); 
 
    Console.Write("Original contents: "); 
    foreach(int i in al) 
      Console.Write(i + " "); 
    Console.WriteLine("\n"); 
 
    // Sort 
    al.Sort(); 
 
    // Use foreach loop to display the list. 
    Console.Write("Contents after sorting: "); 
    foreach(int i in al) 
      Console.Write(i + " "); 
    Console.WriteLine("\n"); 
 
    Console.WriteLine("Index of 43 is " + 
                      al.BinarySearch(43)); 
  } 
}


ArrayList.Synchronized

  
using System;
using System.Collections;
class MainClass
{
  static void Main(string[] args)
  {
    ArrayList a = new ArrayList(10);
    ArrayList.Synchronized(a);
  }
}


ArrayList.ToArray

  
using System;
using System.Collections;
class MainClass
{
    public static void Main(string[] args)
    {
        // Create a new ArrayList and populate it.
        ArrayList list = new ArrayList(5);
        list.Add("B");
        list.Add("G");
        list.Add("J");
        list.Add("S");
        list.Add("M");
        object[] array2 = list.ToArray();
        Console.WriteLine("Array 2:");
        foreach (string s in array2) 
        {
            Console.WriteLine("\t{0}", s);
        }
    
    }
}


ArrayList.ToArray(typeof(T))

 
using System;
using System.Collections;
class MainClass
{
    public static void Main(string[] args)
    {
        // Create a new ArrayList and populate it.
        ArrayList list = new ArrayList(5);
        list.Add("B");
        list.Add("G");
        list.Add("J");
        list.Add("S");
        list.Add("M");
        string[] array3 = (string[])list.ToArray(typeof(String));
        Console.WriteLine("Array 3:");
        foreach (string s in array3) 
        {
            Console.WriteLine("\t{0}", s);
        }
    }
}


ArrayList.TrimToSize()

 
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    myArrayList.Add("A");
    
    string[] anotherStringArray = {"Here"s", "some", "more", "text"};
    myArrayList.SetRange(0, anotherStringArray);
    myArrayList.TrimToSize();
    Console.WriteLine("myArrayList.Capacity = " + myArrayList.Capacity);
  }
}


new ArrayList()

  
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
class Program {
    static void Main(string[] args) {
        ArrayList baseballTeams = new ArrayList();
        baseballTeams.Add("s");
        baseballTeams.Add("r");
        baseballTeams.Add("F");
        foreach (string item in baseballTeams) {
            Console.Write(item + "\n");
        }
    }
}


new ArrayList(Collection c)

  
using System;
using System.Collections;
class MainClass
{
  public static void Main()
  {
    ArrayList myArrayList = new ArrayList();
    myArrayList.Add("This");
    myArrayList.Add("is");
    myArrayList.Add("a");
    myArrayList.Add("test");
    ArrayList anotherArrayList = new ArrayList(myArrayList);
    Console.WriteLine(anotherArrayList);
  }
}