Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.

Lignende præsentationer


Præsentationer af emnet: "Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable."— Præsentationens transcript:

1 Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable traversering Rasmus D. Lehrmann1

2 Oversigt og forskel imellem Jave og.net Abstrakte datatyper: – lister/sekvenser – stak – kø – Table/Map/Dictionary Java-specifik: – Collections (generics) – Collection Set List – Map.NET-specifik: – Collections.Generics – IDictionary – IList Algoritmer: – søgning – sweep – sortering – del&hersk – rekursion Datastrukturer: – statisk/dynamisk – array – kædet liste – træer: søgetræer – balancerede – hashing 2Rasmus D. Lehrmann

3 Collections library Datastrukturer i.NET kaldes normalt Collections Klasser: – Array – ArrayList – Hashtable – Stack – Queue 3Rasmus D. Lehrmann

4 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 4Rasmus D. Lehrmann

5 ArrayList ArrayList opbevare sekvenser af elementer – dataen er gemt i et array, der automatisk ændrer størrelse – bliver primært manipuleret via Ilist 5Rasmus D. Lehrmann 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)... } searching control of memory in underlying array

6 IList interface IList definerer sekvenser af elementer – kan tilgås via index Rasmus D. Lehrmann6 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 (see comment) structural properties

7 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 Rasmus D. Lehrmann7 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 Hashtable traversering Traversering af Hashtable indhold – hvert element er en DictionaryEntry struktur – data gemmes i Key og Value properties Rasmus D. Lehrmann8 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 "Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable."

Lignende præsentationer


Annoncer fra Google