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

Slides:



Advertisements
Lignende præsentationer
Throw a die Read the current value of index Add 1 Return the new value to index IndexIndex Create an empty array to count the number of dice throws Initialize.
Advertisements

Velkommen til Softwarekonstruktion
07 – Kort om OO Introduktion.
1 Frameworks. 2 Plan Frameworks • Kollektioner • Input/output Nyt designmønster: Decorator.
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
C#: Udtryk og metoder. Indhold “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” Udtryk.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
Datastrukturer Simple-type structs
Programmeringsteknologi: Lektion 1
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Object-Orienteret Programmering og Design. 2 Nordjyllands Erhvervakademi – 2009 Indhold “Classes, objects and object-oriented programming (OOP) play a.
Collectionklasser Klassifikation og anvendelse. Collections Motivation –hvorfor bruge collections? Realisering af en-til-mange relationer –Importer, erklær,
Array vs. ArrayList. Arrays Et array er en struktureret metode til at gemme flere værdier af den samme datatype. Data’en i et array ligger op ad hinanden.
DotNET Remoting Præsentation. Beskrivelse af arkitekturen i et dot NET program. Hvad er en Proxy. Klient, server og host begreberne. Marshaling. Eventuelt.
Objekter og klasser Applikationsdesign Code Namespace Value og reference typer Reference type Rasmus D. Lehrmann1.
Hvordan man skriver koden.
Tietgen Skolen Syntaks: while ( betingelse for loop ) statement; Eksempel: int tal = 0; while ( tal/3 != 4 ) { System.Console.WriteLine(tal); tal = tal.
Tietgen Skolen Trick med facadeklasse og serialisering ”Trick” – model ”samles” til eet overordnet objekt Alle klasser i model skal have attriutten [Serializable]
Structs Structs allokeres på stakken Memory-allokering sker ved oprettelse af variabel og ikke ved new Der kan defineres metoder incl. Constructor. Eksempel.
Programering af mobile enheder Windows Phone Storage.
NOEA/IT - FEN1 Typeparametisering/Genericity Generics i.NET 2 og C#
Arrays ● Arrangere erklærede ens datatyper ● Giver mulighed for indeksering med tal ● Valgfri størrelse ved oprettelse ● Er integreret i sproget/compileren.
Datastrukturer og Collections Rasmus D. Lehrmann DM
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
Forelæsning 3.1 Collections Javas for-each løkke
Interfaces – brug. Overblik Tidligere: –Interfaces Comparable gør det muligt at bruge Collections metoderne –min, max, sort, … –Algoritmemønstre Find.
Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D.
Lektion 7 Læsestof: Kopier fra Caranno
Fundamentale datastrukturer
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
Forelæsning 5.1 Brug af klassen Collections og interfacet Comparable samt parametriserede typer Projektuge: Ants and Spiders / Lommeregner dIntProg,
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper: arrays, stakke, køer,
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Repetition: Introduktion til OOP med C# og .NET
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3.
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
C#: Udtryk og metoder Kilde: Joe Hummel. 2 Nordjyllands Erhvervakademi – 2008 Indhold “With regards to programming statements and methods, C# offers what.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Databaseadgang fra C#:
C#: Data Typer. 2 Nordjyllands Erhvervakademi Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies,
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Blå gruppe: Søren, Alexander, Torben, Lasse. De 4 vigtige items: - Singelton - Override clone judiciously - Use interfaces only to define type - Prefer.
Begreber og Redskaber 11. Plan for idag Lidt afrunding: Collections Framework i Java Noget om oversættere og sprog Evaluering Sidste gang øvelser før.
Forelæsning 7.1 – repetition
Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder.
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
 Henrik B. Christensen, 1999Introducerende objektorienteret programmering8B.1 Interfaces En ren kontrakt.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
DAIMIIntroducerende Objektorienteret Programmering1 Collections og opremsning Nye typer collections, objektorienteret sweep.
Indledende Programmering Uge 6 - Efterår 2006
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Collectionklasser Klassifikation og anvendelse. dIntProg, F08Collectionklasser.2 Samlinger af objekter Objektreferencer –for at holde fast i et objekt.
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
Collections og opremsning Nye typer collections, objektorienteret sweep.
Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2003IOOPContainerklasser.2 Mange objekter Containerklasser –antag at man skal repræsentere.
Variable og arrays Webintegrator HF1 PHP Object orienteret.
WebApi service x.
1587 Server - Blandet miljø Datatekniker – Infra & Prog
Simpel test-client (javascript) Session og Application data
(brug af MVVMStarterLibrary2018)
Parametrisering En kort introduktion.
Præsentationens transcript:

10. Datastrukturer

2 Nordjyllands Erhvervakademi 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 Nordjyllands Erhvervakademi 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 Nordjyllands Erhvervakademi 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 Nordjyllands Erhvervakademi 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 Nordjyllands Erhvervakademi 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 Nordjyllands Erhvervakademi 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 Nordjyllands Erhvervakademi 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