Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afMichael Henningsen Redigeret for ca. et år siden
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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.