Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;

Slides:



Advertisements
Verwante presentaties
Hoofdstuk 10.2 Rekenmachine-casus.
Advertisements

Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
Opg.1a: substring } String substring(int a) { int t; for (t=a; t
Hoofdstuk 8 Objecten en klassen.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoofdstuk 11.3 Algoritmen: Zoeken in een netwerk.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 10.3 Tekst-editor: MDI-interface Dialogen Files lezen Abstracte klassen.
2e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nOmcirkeld: tentamen2 Achter pijltje: gemiddelde tot nu toe nNeem het.
Isaac Newton Omdat een beetje extra bijscholing nooit kwaad kan 
Door Marco Lassche, Joyce Mulder en Mare de Winter
Energielening.
Quel jour sommes-nous aujourd’hui ?
Toolbox: ATEX ATmosphere - EXplosive
De wederkomst ophanden? 20 augustus 2017 Urk.
Omdenken Een kleine test….
Op zoek naar de juiste toon Geluid in de omgevingswet
6. Sleutelvoedingsfactoren
Hollandse Meesters 4 Portretten.
Wat is Prinsjesdag?
Jezus voor Pilatus Waar draait het om? Haat; onrecht
H 3 Stabiliteits- en groeipact
Kostprijs van het product?
H11 Astrofysica.
§12.2 Röntgen 1895: Wilhelm Röntgen ontdekt per toeval een geheimzinnige straling die een fotografische plaat zwart kleurt: röntgenstraling!
Gameprogrammeren: Lists en interfaces
Letterfrequentie turven
Natuurkunde Overal Hoofdstuk 2: Elektriciteit.
Herhaling §11.1 planckkromme
Voorbeeld: Simulatie van bewegende deeltjes
Havo 4 Lesbrief Vervoer.
Life course and social policy
Welkom op de ouderavond van 5 tvwo
Ouderkring groep 5.
Israëlzondag Thema: Dansen in de kerk Zondag 8 oktober 2017 Liturgie ♫
Tool WC-1: Opdrachten verbinden aan de beroepscontext
Tool WD-1: Vergelijken van opdrachten
Voortborduren op eerder gedaan werk
Sigfox localization using limited Wi-Fi fingerprints
Analytische Meetkunde
Rekenen met gemiddelde snelheid.
Herhaling Deeltjes zijn ook golven (golflengte
Workshop “Lineair programmeren met de TI-84 CE-T” Harmen Westerveld
Algebra.
2 VMBO-KGT deel Pythagoras gebruiken Hulplijnen 1 1.
De Antonov 225 Het is russisch....rustiek in zijn geheel, maar kwetsbaar.
Op modus en behoeften gebaseerd spelprotocol
Agenda 1. Klantvisie en de speerpunten 2. Uitgangspunten 3. Hoe?
Kerke en pastore is spesifiek geteiken gedurende die konflik.
App van de maand – bekkenbodem
Gebruikersbijeenkomst Data.overheid.nl
Welkom by die kategese Heet almal baie hartlik welkom.
Klimaat Amazonegebied
Het onderwijs- perspectief
Bodemkunde les 2 Tom Lievense De bodem Structuur van de bodem.
De Vrijheid van onderwijs
“It kin net” VSV DRACHTEN Disclosure:
Vergeet niet jouw actie te registreren op
Cohort nieuw 2,5 jaar BBL schooljaar
Agenda aanstaande week 1/2
Agenda Welkom Voorstellen aanwezigen Besproken zaken 1e bewonersavond
Semantisatieverhaal: Sinds dit weekend kampen wij thuis met een mierenplaag. Wij hebben last van een mierenplaag. Die kleine beestjes zitten echt overal.
Vasten.
Contactdag LABS.
Quiz: Waar staat dit...?.
Het leven, mijn kind, kent vele drempels die je over moet.
Transcript van de presentatie:

Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a; a = new List(); …a.Get(5)… a.Set(5,…); …a.Count… array: oject dat een rij waarden bevat, met speciale notaties List: array “ingepakt” in een klasse, met standaard notaties nInvoegen nAchtervoegen a.Insert(5,…); List a; a = new List (); a.Add(…); uitgebreide ……a[5]…… a[5] = ……;

Voorbeeld: array class Voorbeeld : Form { } Voorbeeld ( ) { } void klik(object o, AE ae) { } TextBox in; Button b; void teken(object o, PEA pea) { } in = new TextBox(); b = new Button(); b.Click += klik; this.Paint += teken; String s = in.Text; alles[n] = s; n++; this.Invalidate(); String [] alles; int n; alles = new String[100]; n = 0; for (int t=0; t<n; t++) { pea.Graphics.DrawString( alles[t],......, y ); y+=20; } int y = 50; if (n<100) { }

Voorbeeld: array class Voorbeeld : Form { } Voorbeeld ( ) { } void klik(object o, AE ae) { } TextBox in; Button b; void teken(object o, PEA pea) { } in = new TextBox(); b = new Button(); b.Click += klik; this.Paint += teken; String s = in.Text; alles[n] = s; n++; this.Invalidate(); String [] alles; int n; alles = new String[100]; n = 0; for (int t=0; t<n; t++) { pea.Graphics.DrawString( alles[t],......, y ); y+=20; } int y = 50; if (n<100) { } List List alles; alles = new List ( ); alles.Add(s); alles[t] alles.Count;t++)

Hoe is List gemaakt? class List { } Elem [] elems; int n; © List () { elems = new Elem[10]; n = 0; } Elem Get (int p) { return elems[p]; } int Count { get { return n; } } void Add(Elem e) { } elems[n]=e; n++; if (n>=elems.Length) vergroot(); private void vergroot() { } Elem [] kopie; kopie= new Elem[2*n]; for (int t=0; t<n; t++) kopie[t] = elems[t] elems = kopie; this [int p] get { }

Kan het ook anders? class List { } Elem [] elems; int n; © List () { elems = new Elem[10]; n = 0; } Elem Get (int p) { return elems[p]; } int Count { get { return n; } } void Add(Elem e) { } elems[n]=e; n++; if (n>=elems.Length) vergroot(); private void vergroot() { } Elem [] kopie; kopie= new Elem[2*n]; for (int t=0; t<n; t++) kopie[t] = elems[t] elems = kopie; this [int p] get { }

Ja: je kunt een List maken zonder dat een array nodig is class AndereList { } …… © AndereList () { …… } Elem this[int p] { …… } int Count { …… } void Add(Elem e) { …… } null 3

Ja: je kunt een List maken zonder dat een array nodig is class AndereList { } …… interface IList { } int Count { get; } ; void Clear(); void Add(Elem e) Elem this [int p] { get; set; } void Insert (int p, Elem e); © AndereList () { …… } Elem this[int p] { …… } int Count { …… } void Add(Elem e) { …… }

Namespace System.Collections.Generic List Andere List IList interfacediverse implementaties

Voorbeeld: List class Voorbeeld : Form { } Voorbeeld ( ) { } void klik(object o, AE ae) { } TextBox in; Button b; void teken(object o, PEA pea) { } in = new TextBox(); b = new Button(); b.Click += klik; this.Paint += teken; String s = in.Text; alles[n] = s; n++; this.Invalidate(); alles = new String[100]; n = 0; for (int t=0; t<n; t++) { pea.Graphics.DrawString( alles[t],......, y ); y+=20; } int y = 50; List alles; alles = new List ( ); alles.Add(s); alles[t] alles.Count;t++) IList alles; AndereList

Varianten van List ICollectionIList ISet interface ICollection { void Add(Elem x); bool Remove(Elem x); bool Contains(Elem x); int Count { get; } void Clear(); } interface IList : ICollection { Elem this[int n] { get; set; } ; int IndexOf(Elem x); void Insert(int n, Elem x); void RemoveAt(int n); } genummerd zonder dubbele

Implementaties van Collections LinkedList Queue Stack List HashSet SortedSet SortedList Sorted Dictionary IList ISet IDictionary ICollection

Voorbeeld: Collection class Voorbeeld : Form { } Voorbeeld ( ) { } void klik(object o, AE ae) { } TextBox in; Button b; void teken(object o, PEA pea) { } in = new TextBox(); b = new Button(); b.Click += klik; this.Paint += teken; String s = in.Text; alles[n] = s; n++; this.Invalidate(); alles = new String[100]; n = 0; for (int t=0; t<n; t++) { pea.Graphics.DrawString( alles[t],......, y ); y+=20; } int y = 50; List alles; alles = new List ( ); alles.Add(s); alles[t] alles.Count;t++) IList alles; Collection alles; LinkedList

Hoe doorloop je een Collection? nList nCollection for (int t=0; t<alles.Count; t++) doeIetsMet( alles[t] ); foreach (String s in alles) doeIetsMet( s ); opdracht for)(expropdrachtexpr ;; Speciale syntax voor specifieke situatie met bepaalde klasse typeexprinnaamforeach()opdracht

Implementaties van Collections IEnumerable IEnumerator IComparator LinkedList Queue Stack List HashSet SortedSet SortedList Sorted Dictionary IList ISet IDictionary ICollection