Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

10. Datastrukturer. 2 Nordjyllands Erhvervakademi - 2009 Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.

Lignende præsentationer


Præsentationer af emnet: "10. Datastrukturer. 2 Nordjyllands Erhvervakademi - 2009 Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections."— Præsentationens transcript:

1 10. Datastrukturer

2 2 Nordjyllands Erhvervakademi - 2009 Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections Compiled til mscorlib.dll assembly Bruger object for generisk brug Klasser: –Array –ArrayList –Hashtable –Stack –Queue

3 3 Nordjyllands Erhvervakademi - 2009 Collection interfaces Collections implementer forskellige interfaces for at sikre ensartethed –Klasser der implementer samme interface tilbyder samme services –gør biblioteket lettere at lære og bruge –gør muligt at skrive generisk code op mod interfacet Interfaces: –ICollection –IEnumerable –IEnumerator –IList –IComparer –IComparable

4 4 Nordjyllands Erhvervakademi - 2009 ArrayList ArrayList tilbyder at opbevare sekvenser af elementer –duplicate værdier ok –data er internt gemt i et array, der automatisk ændrer størrelse –bliver primært manipuleret via Ilist public class ArrayList : IList, IEnumerable,... { // IList services... // additional services int Capacity { get... set... } void TrimToSize() int BinarySearch(object value) int IndexOf (object value, int startIndex) int LastIndexOf (object value, int startIndex)... } control of memory in underlying array searching

5 5 Nordjyllands Erhvervakademi - 2009 IList interface IList definerer sekvenser af elementer –kan tilgås via index public interface IList : ICollection { int Add (object value); void Insert(int index, object value); void Remove (object value); void RemoveAt(int index); void Clear (); bool Contains(object value); int IndexOf (object value); object this[int index] { get; set; } bool IsReadOnly { get; } bool IsFixedSize { get; } } add new elements remove containment testing read/write existing element structural properties

6 6 Nordjyllands Erhvervakademi - 2009 Eksempel Oprette og bruge en ArrayList: using System.Collections; ArrayList a = new ArrayList(); a.Add("mom"); // added to end... a.Add("dad"); a.Add("sister"); Console.WriteLine(a[2]); // direct access if (a.Contains("dad")) // search... foreach (string s in a) // iterate Console.WriteLine(s); handles iteration interfaces, casting element 0 element 1 element 2 true "sister"

7 7 Nordjyllands Erhvervakademi - 2009 Hashtable Hashtable understøtter collections af key/value pairs –keys skal være unikke, values indeholder data –gemmer object reference til både key og value –GetHashCode metode af key bruges til at bestemme placering Hashtable ages = new Hashtable(); ages["Ann"] = 27; ages["Bob"] = 32; ages.Add("Tom", 15); ages["Ann"] = 28; int a = (int) ages["Ann"]; create add update retrieve

8 8 Nordjyllands Erhvervakademi - 2009 Hashtable traversering Traversering af Hashtable indhold –hvert element er en DictionaryEntry struktur –data gemmes i Key og Value properties Hashtable ages = new Hashtable(); ages["Ann"] = 27; ages["Bob"] = 32; ages["Tom"] = 15; foreach (DictionaryEntry entry in ages) { string name = (string) entry.Key; int age = (int) entry.Value;... } enumerate entries get key and value


Download ppt "10. Datastrukturer. 2 Nordjyllands Erhvervakademi - 2009 Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections."

Lignende præsentationer


Annoncer fra Google