Læringsmål for forelesningen
|
|
- Solveig Gabrielsen
- 7 år siden
- Visninger:
Transkript
1 Læringsmål for forelesningen Objektorientering Bruk av grensesnitt og implementasjoner i Collection-klasser Java-prog, kap i Big Java Og side i Appendix D Collection-rammeverket og iterasjon med Iterator og Iterable Bruk av <type>-deklarasjoner ifm. collections (såkalte generics ). Eclipse Kodemaler for for-konstruksjonen 1
2 Grupper av objekter En har ofte behov for å håndtere grupper av objekter operere på dem som et hele, f.eks. overføre dem som parameter eller gjøre enkeltoperasjoner på alle ved hjelp av en løkke implementere relasjon/kobling fra ett objekt til mange andre finne et objekt som tilfredsstiller visse kriterier Java-tabeller (array) kan brukes til dette, men de er lite fleksible og tilbyr ingen hjelpemetoder Tabeller har fast lengde angitt av length-attributtet og kun muligheten til å lese og sette elementer basert på en indeks (int). 2
3 Collection-rammeverket, kap. 15 ( Forbedringer i Java7: Se side (og ) i Big Java Collection-rammeverket i java.util-pakken implementerer mange måter å lagre og bearbeide grupper av objekter java.util.arraylist lar oss f.eks. legge til, hente ut og ta ut objekter Mange grensesnitt med tilhørende implementasjoner metoder gjør jobben lettere, så det er lurt å bli kjent med Collection-API et (API = Application Programmers Interface) 3
4 Oppbyggingen til Collection-rammeverket (1) Collection rammeverket består av ett overordnet grensesnitt (Collection) og mange spesifikke grensesnitt, som tilbyr samlinger med ulik logikk Collection-grensesnittet spesifiserer generelle metoder som de andre grensesnittene arver fra/utvider List-grensesnittet tilbyr posisjonsbaserte metoder Set-grensesnittet tilbyr ingen egne metoder, men begrenser samlingen til ikke å inneholde duplikater. SortedSet-grensesnittet støtter sortering basert på en spesifikk måte å sammenligne elementer på (Comparator) 4
5 Oppbyggingen til Collection-rammeverket (2) Hvert spesifikke grensesnitt har flere implementasjoner, hvorav en er standardimplementasjonen List sin standardimplementasjon er ArrayList, Set sin er HashSet,... Utenom Collection-hierarkiet har en i tillegg noen nyttige grensesnitt/klasser Map: oppslag fra et objekt (nøkkel) til et annet objekt (verdi) Stack: stabel med verdier, med operasjoner for å legge på og ta av toppen Queue: kø med verdier, med operasjoner for å fylle på i én ende og ta ut i andre 5
6 6
7 Før en velger hvilken type Collection en trenger, må en vurdere behovene... Avdekking av behovene er alltid viktig. Det gjelder å stille de riktige spørsmålene. 7
8 Behov vs. tilbud Duplikater Skal en potensielt kunne lagre flere av samme element? Bruk en implementasjon av List-grensesnittet. Rekkefølge Er rekkefølgen eller posisjonen viktig? Dersom elementene skal ha en spesiell rekkefølge, kan en ikke bruke en Setimplementasjon. Er innsettingsrekkefølgen eller posisjonen viktig? Bruk en List-implementasjon. Sortering Ønskes elementene automatisk sortert? Bruk en SortedSet-implementasjon. Trenger en spesielle håndteringsoperasjoner sette inn og ta ut i bestemt rekkefølge (siste/først inn, først ut) 8 Som regel er det greit å bruke List/ArrayList, men still deg likevel spørsmålene først! F.eks. viktig å vite om en må bruke list.contains(element) før list.add(element) Side 651 i Big Java
9 Collection-grensesnittet Collection-grensesnittet tilbyr generelle metoder, bl.a. for å legge til, fjerne og spørre om elementer add(object), addall(collection) remove(object), removeall(collection) (retainall(collection) fjern alt annet enn) contains(object), containsall(collection) Støtter ikke oppslag basert på indeks og dermed ikke iterasjon basert på for (int i = 0; i < col.size(); i++) {.. } Iterasjon gjøres vha. såkalte iteratorer (Iterator-grensesnittet), som vi kommer nærmere inn på etterhvert. Det finnes ingen klasser som kun implementerer Collection, alle konkrete klasser implementerer en av de mer spesifikke grensesnittene. Det kan likevel være riktig å deklarere variabler som Collection, for å markere at det kun brukes Collection-metoder. // koden bruker kun add, remove, size, samt iterator Collection col = new ArrayList(); 9
10 List-grensesnittet posisjonsorientert Collection List-grensesnittet utvider Collection-grensesnittet med indeksbaserte metoder for å legge til, fjerne og spørre om elementer add(int, Object), addall(int, Collection) remove(int) int indexof(object), int lastindexof(object) Viktigst er muligheten til å lese og sette elementer basert på indeks/posisjon Object get(int), set(int, Object) Støtter dermed også iterasjon basert på indeks, som i for (int i = 0; i < list.size(); i++) {.. } Iterasjon kan også gjøres vha. Iterator-grensesnittet. ArrayList er standardimplementasjonen av List-grensesnittet Du skal ha god grunn til å velge en annen implementasjon. 10
11 Bruk av List (ArrayList) add(object) legger til objekt get(int) henter objekt med gitt indeks size() størrelsen på lista 11
12 List-grensesnittet (posisjon og duplikater) this arg overlapp.addall( )=>.removeall( )=> samme relative posisjon og rekkefølge this etterpå.retainall( )=> 12
13 Set-grensesnittet (ingen posisjon, ikke duplikater) this arg overlapp.addall( )=>.removeall( )=> potensielt stokket eller sortert this etterpå.retainall( )=> 13
14 add-metoden skyter et objekt inn mellom de andre objektene med høyere indeks forskyves og endrer posisjon 0 i-1 i i+1 nytt element 0 i-1 i i+1 add uten indeks legger til på slutten nytt element 14
15 remove-metoden fjerner et element lista klemmes sammen to varianter: fjern bestemt objekt fjern objekt på bestemt posisjon skal fjernes 0 i-1 i i i-1 i
16 Konvertering mellom List og tabell Hvordan lage en List fra en tabell Arrays.asList(T[] tab) returnerer en List<T> med tab som innhold, og som ikke kan endres. ArrayList har en konstruktør som initialiserer den med innholdet til en eksisterende Collection. Card[] cards = List<Card> cardlist = new ArrayList<Card>(Arrays.asList(cards)); Hvordan lage en tabell fra en List List.toArray(T[] t) returnerer t fylt med lista sitt innhold. List<Card> cardlist = Card[] cards = new Card[cardList.size()]; cardlist.toarray(cards); 16
17 Collection-klasser (inkl. Iterator) og (parameter- og resultat)typer Når en bruker en Collection i praksis, er elementene en legger inn og tar ut ofte av en spesifikk type, f.eks. String eller Person. Likevel må en i utgangspunktet bruke casting når en henter ut elementer, f.eks. Person p = (Person)liste.get(i) Ved å konsekvent deklarere Collection-, List-, Iterator- og Iterablevariabler med <type> bak, forteller vi at klassen er begrenset til å kun behandle objekter av denne spesifikke typen (eller subtyper): List<String> tekst = new ArrayList<String>(); // add tar inn en String, og det vet Java! tekst.add( En String ); // get returnerer String, og // det skjønner også Java! String s1 = tekst.get(0); 17
18 Collection-klasser (inkl. Iterator) og (parameter- og resultat)typer <type>-deklarasjoner bestemmer/begrenser parametertypen/returtypen til metoder som add, remove, get, next, iterator osv. <type>-deklarasjoner er lov etter List, ArrayList, Iterator, Iterable og generelt de fleste klasser i Collection-rammeverket. Bruk alltid <type> bak, så blir koden sikret mot en viktig type type-feil. 18
19 Eksempel på bruk av <type> // lag og bruk en String-liste // både deklarasjon og new-uttrykk begrenses List<String> stringliste = new ArrayList<String>(); // String-lista sin add-metode krever et String-argument stringliste.add( En string ); stringliste.add( Enda en string ); int pos = stringliste.indexof( En string ); // get-metoden returnerer nødvendigvis en String String enstring = stringliste.get(pos); 19
20 Map-grensesnittet Map<K,V> er en spesiell type samling (ikke en Collection) som brukes til tabelloppslag, dvs. når en ønsker å finne et objekt, basert på et annet Map brukes typisk når en koblingen mellom objekter er temporær K V En map implementerer en matematisk funksjon: avbildning fra et nøkkelsett til et verdisett 20 Metoder: put(k key, V verdi) knytter key til verdi V get(object key) returnerer verdien som er knyttet til key boolean containskey(object key) sier om key finnes i nøkkelsettet Set<K> keyset() settet av nøkler Collection<V> values() samlingen av verdier
21 21
22 Stack-klassen Stack<T>-klassen implementerer en stabel, dvs. en samling med egne operasjoner for å legge på og ta av fra toppen push(t t) legger t på toppen T pop() tar bort og returnerer øverste element T peek() returnerer øverste element, uten å ta det bort 22
23 Queue- grensesnittet Queue<T>-grensesnittet spesifiserer metoder for en kø, dvs. en samling med egne operasjoner for å legge til i ene enden og ta ut i andre offer(t t) legger t til inn-enden T poll() tar ut (fjerne) et element i ut-enden T peek() returnerer elementet i ut-enden, uten å fjerne det 23 Implementeres av LinkedList
24 Læringsmål for forelesningen Objektorientering Bruk av grensesnitt og implementasjoner i Collection-klasser Java-programmering Collection-rammeverket og iterasjon med Iterator og Iterable Bruk av <type>-deklarasjoner ifm. collections (såkalte generics ). Eclipse Kodemaler for for-konstruksjonen 24
Dagens forelesning. Husk prøveeksamen Fredag 15/3-13 kl 12 i R1. Iterator-teknikken. Eksempel med bruk av Iterator og Iterable-grensesnittene
Dagens forelesning Iterator-teknikken Hva er en Iterator og hvorfor bruke den? Hvordan virker en Iterator? Vi lager en Iterator for tegnene i en String Iterable-grensesnittet og for-løkker Eksempel med
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerEKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
DetaljerEKSAMEN I FAG TDT4100 Objektorientert programmering. Fredag 2. juni 2006 Kl. 09.00 13.00
Side 1 av 13 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister
PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister Lars Sydnes, NITH 5. februar 2014 I. Implementasjoner Tabell-implementasjon av Stakk Tabellen er den lettest tilgjengelige datastrukturen
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens
DetaljerHva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen
Lister Hva er en liste? Listen er en lineær datastruktur Hvert element har en forgjenger, unntatt første element i listen Hvert element har en etterfølger, unntatt siste element i listen I motsetning til
DetaljerHva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen
Lister Hva er en liste? Listen er en lineær datastruktur Hvert element har en forgjenger, unntatt første element i listen Hvert element har en etterfølger, unntatt siste element i listen I motsetning til
DetaljerBOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs
BOKMÅL Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN
DetaljerForkurs INF1010. Dag 3. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 15.
Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Gard Inge Rosvold (gardir@ifi.uio.no) Institutt for Informatikk, 15. januar 2016 Forkurs INF1010 - dag 3 Strenger 2 Forkurs INF1010 - dag
DetaljerForkurs INF1010. Dag 3. Andreas Færøvig Olsen Eivind Storm Aarnæs
Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Eivind Storm Aarnæs (eivinsaa@math.uio.no) Institutt for Informatikk, 14. januar 2015 Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering
DetaljerINF1010. Stein Michael Storleer (michael) Lenkelister
INF1010 Stein Michael Storleer (michael) Lenkelister Lenke Datastrukturen lenkeliste class { = null ; foran foran = new () ; class { = null ; foran foran = new () ; foran. = new () ; class { = null ; foran
DetaljerListe som abstrakt konsept/datatype
Lister Liste som abstrakt konsept/datatype Listen er en lineær struktur (men kan allikevel implementeres ikke-lineært bak kulissene ) Hvert element har en forgjenger, unntatt første element i listen Hvert
DetaljerAlgoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1
Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting
DetaljerEKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2008 kl 09.00 til kl 13.00 Hjelpemidler: 4 A4-sider (2 ark) med valgfritt innhold Kalkulator Faglærer: Mari-Ann
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
DetaljerINF1010, 23. februar Parametriserte klasser Om å gå gjennom egne beholdere (subklasser og grensesnitt 3)
INF1010, 23. februar 2012 Parametriserte klasser Om å gå gjennom egne beholdere (subklasser og grensesnitt 3) Stein Gjessing Inst for Informatikk Universitetet i Oslo Repetisjon fra gamle dager: Metoder
DetaljerOppsummering del 2. Læringsmål Viktigste Java-elementer Eksamen Til sist. Læringsmål Hovedpunkter Tilbakemelding Eksamen. IN1010 uke 17 våren 2019
Oppsummering del 2 Læringsmål Viktigste Java-elementer Eksamen Til sist Hva skal dere ha lært? Læringsmål fra emnebeskrivelsen: Etter å ha tatt IN1010: har du god oversikt over programmeringsspråket Java
DetaljerTOD063 Datastrukturer og algoritmer
TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk
Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive
DetaljerIN1010 våren januar. Objektorientering i Java
IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som
DetaljerAlgoritmer og datastrukturer E Løkker i Java
Vedlegg E Løkker i Java Side 1 av 6 Algoritmer og datastrukturer E Løkker i Java E Løkker i Java E.1 For-løkker En for-løkke består av de fire delene initialisering, betingelse, oppdatering og kropp (eng:
DetaljerINF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003
INF1000 HashMap Marit Nybakken marnybak@ifi.uio.no 2. november 2003 Dette dokumentet skal tas med en klype salt og forfatteren sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet
DetaljerKapittel 9: Dynamiske datastrukturer - del I. Java som første programmeringsspråk
Kapittel 9: Dynamiske datastrukturer - del I Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0
DetaljerKapittel 9: Dynamiske datastrukturer - del I. Java som første programmeringsspråk
Kapittel 9: Dynamiske datastrukturer - del I Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0
DetaljerINF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 21. februar 2013 Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Ikke noe nytt her From the Java language specification (version 6): 14.14.2
DetaljerDet finnes ingenting. som kan gjøres med interface. men som ikke kan gjøres uten
Interface, Abstract Class... i-120 : H-98 2a. Abstraksjon i JAVA: 1 Det finnes ingenting som kan gjøres med interface i-120 : H-98 2a. Abstraksjon i JAVA: 2 som kan gjøres med bruk av unntak i-120 : H-98
DetaljerKapittel 7: Mer om arv
Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
DetaljerInf1010 oppgavesamling
Table of ontents Inf1010 oppgavesamling.. 1 Subklasser... 1 Grensesnitt.. 2 Rekursjon... 3 Datastrukturer... 3 GUI. 4 Sortering... 6 Tråder... 6 Inf1010 oppgavesamling Subklasser Klassehirarki for dyr
DetaljerLenkelister, iteratorer, indre klasser. Repetisjonskurs våren 2018 kristijb
Lenkelister, iteratorer, indre klasser Repetisjonskurs våren 2018 kristijb Lenket liste av objekter Vi lager en lenke ved at objekter refererer til hverandre. Vanlige er ofte å ha Node-objekter som har
Detaljer13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER
.9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,
DetaljerLeksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder
6108 Programmering i Java Leksjon 6 Objekt Del 2: 6.4 6.5 Roy M. Istad 2015 Generelt oppsett av egendefinert klasse Eks: Student Evt. importsetninger public class Klasse { Objektvariabler - instansvariabler
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerAlgDat 10. Forelesning 2. Gunnar Misund
AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):
DetaljerEKSAMENSFORSIDE Skriftlig eksamen med tilsyn
EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: 5610 Emnenavn: Algoritmer og datastrukturer Dato: 22.05.2017 Tid fra/til: 09.00 14.00 Antall timer: 5 Ansvarlig faglærer: Tor Lønnestad Campus: Bø
DetaljerPost-it spørsmål fra timen (Arv og subklasser)
Post-it spørsmål fra timen 30.01 (Arv og subklasser) Tegning Spørsmål: Skjønte ikke tegningene Hater tegningene. Lær meg å tegne. Mvh frustrert elev. Spørsmål: Datastruktur-tegning, og hvor mye detaljer
DetaljerAlgoritmer og datastrukturer Kapittel 3 - Delkapittel 3.2
Delkapittel 3.2 En tabellbasert liste side 1 av 14 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.2 3.2 En tabellbasert liste 3.2.1 Grensesnittet Liste En resultatliste har en rekkefølge. Ordet
DetaljerSortering med Comparable og Comparator
Sortering med Comparable og Comparator Denne siden forklarer hvordan grensesnittene java.util.comparable og java.util.comparator bidrar til sortering i Java. Comparable og Comparator er grensesnitt som
DetaljerBOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.
BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN
DetaljerPG4200 Algoritmer og datastrukturer Lab 1. 8.januar 2014. I dag skal vi undersøke en rekke velkjente databeholdere i Java:
PG4200 Algoritmer og datastrukturer Lab 1 8.januar 2014 Innledning I dag skal vi undersøke en rekke velkjente databeholdere i Java: java.util.arraylist java.util.linkedlist java.util.hashset java.util.treeset
DetaljerADT og OO programmering
ADT og OO programmering I. ADT I JAVA - INTERFACE I.1 grensesnitt skal dokumenteres Javadoc I.2 bruk av interface I.3 implementasjoner av interface II. OO II.1 Arv av type og implementasjon II.2 Abstrakte
DetaljerINF1010 - Seminaroppgaver til uke 3
INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Håndtering av unntak (eng: exceptions) Java-programmering Håndtering av unntak Exception-objekter og klasser try, catch og finally throw og throws Eclipse
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Delegeringsteknikken Delegering vs. arv 1 Dagens forelesning Introduksjon og motivasjon Hvorfor forelese om standardteknikker, såkalte patterns? Hva slags
DetaljerEKSAMEN I FAG TDT4100 Objektorientert programmering. Fredag 6. juni 2008 Kl. 09.00 13.00
NTNU Norges teknisknaturvitenskapelige universitet Side 1 av 11 Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap BOKMÅL EKSAMEN I FAG
DetaljerINF Innleveringsoppgave 6
INF1010 - Innleveringsoppgave 6 Frist: Onsdag 16. mars, 10:00 Maks 6 poeng Om obligatorisk oppgave 4, 6 og 7 i INF1010, våren 2016: "Leger og resepter" Du skal jobbe med en problemstilling omkring leger
DetaljerInf1000 (Uke 10) HashMap og ArrayList
Inf1000 (Uke 10) HashMap og ArrayList Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Bibliotekpakker i Java Det er laget mange
DetaljerUNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet
UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet Eksamen i emnet INF101/INF101-F - Programmering 2 Fredag 10. juni 2011, kl. 09-14 Bokmål Tillatte hjelpemidler: alle skrevne og trykte.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 9. juni 2011 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerEKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL
Side 1 av 12 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
DetaljerBOKMÅL Side 1 av 12. Fakultet for informasjonsteknologi,
BOKMÅL Side 1 av 12 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap TENTATIVT LØSNINGSFORSLAG
DetaljerInf1010 oppgavesamling
Table of ontents Inf1010 oppgavesamling.. 1 Subklasser... 1 Grensesnitt.. 2 Rekursjon... 3 Datastrukturer... 3 GUI. 4 Sortering... 6 Tråder... 6 Inf1010 oppgavesamling Subklasser Klassehirarki for dyr
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 15. desember 2010 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Regler for oppførsel Java-programmering JUnit-testing Eclipse Opprette JUnit-test og kjøre den 1 Pensum Testing dekkes ikke av Liang! Er en viktig del av
DetaljerÅ bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter
Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC9D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc9d.php Høgskolen i Sør-Trøndelag,
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerRepitisjonskurs. Arv, Subklasser og Grensesnitt
Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 7
PG4200 Algoritmer og datastrukturer Forelesning 7 Lars Sydnes, NITH 19. mars 2014 I. TERMINOLOGI FOR TRÆR TRÆR Lister: Lineære Trær: Hierarkiske Modell / Språk: Bestanddeler: Noder, forbindelser. Forbindelse
DetaljerPensum: fra boken (H-03)+ forelesninger
Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.
Detaljer1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 26. februar 2014 1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Vi tar utgangspunkt i dette programmet for
DetaljerKapittel 12: Rekursjon
Kapittel 12: Rekursjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
DetaljerOrdliste. Obligatorisk oppgave 1 - Inf 1020
Ordliste. Obligatorisk oppgave 1 - Inf 1020 I denne oppgaven skal vi tenke oss at vi vil holde et register over alle norske ord (med alle bøyninger), og at vi skal lage operasjoner som kan brukes til f.
DetaljerAlgoritmer og datastrukturer A.1 Filbehandling på bit-nivå
Vedlegg A.1 Filbehandling på bit-nivå Side 1 av 9 Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå A.1 Filbehandling på bit-nivå A.1.1 Sammendrag Klassen BitInputStream gjør det mulig å lese
DetaljerEKSAMEN. Objektorientert programmering
EKSAMEN Emnekode: ITF 10609 Dato: 13.mai 2009 Emne: Objektorientert programmering Eksamenstid: kl 09.00 til kl 12.00 Hjelpemidler: 2 A4-ark med valgfritt innhold på begge sider. Faglærere: Tom Heine Nätt
DetaljerDagens plan: INF2220 - Algoritmer og datastrukturer. Repetisjon: Binære søketrær. Repetisjon: Binære søketrær
Dagens plan: INF2220 - lgoritmer og datastrukturer HØTEN 2007 Institutt for informatikk, Universitetet i Oslo (kap. 4.7) (kap. 12.2) Interface ollection og Iterator (kap. 3.3) et og maps (kap. 4.8) INF2220,
DetaljerINF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5)
INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) Map og hashing Ett minutt for deg selv: Hva vet du om maps/dictionarys og hashing fra tidligere?
DetaljerPensum: fra boken (H-03)+ forelesninger
Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Prøveeksamen tirsdag 23. november 2010 Tid for eksamen:
DetaljerINF2220: Forelesning 3
INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) ABSTRAKTE DATATYPER 2 Abstrakte datatyper En ADT består av: Et sett med objekter. Spesifikasjon
DetaljerINF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004
INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere
DetaljerHva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist
Stack Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi ta ut et element, tar
DetaljerHva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist
Stack Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi ta ut et element, tar
DetaljerEKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består
DetaljerINF1010 våren februar. Arv og subklasser, del 2
INF1010 våren 2009 3. februar Arv og subklasser, del 2 En forsmak på interface (grensesnitt) Stein Gjessing Repetisjon Vi har sett to former for gjenbruk av klasser: Gammel: Ved sammensetning (komposisjon)
DetaljerAntall sider (inkl. forsiden): 7. Alle trykte og håndskrevne
Side 1 av 7 Bokmålstekst Emne: PROGRAMMERING (nytt pensum, 10 studiep.) Grupper: laa, lab, lac, lia, lib, lic Eksamensoppgaven best~r av: Tillatte hjelpemidler: Antall sider (inkl. forsiden): 7 Alle trykte
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk INF5110 April, 2009
Generiske mekanismer i statisk typede programmeringsspråk INF5110 April, 2009 Torsdag 30. april (skattedagen!): Mer om generering av maskinkode (Ferdig oppkopiert hefte deles ut) Tirsdag 5. mai: Mer av
DetaljerStack. En enkel, lineær datastruktur
Stack En enkel, lineær datastruktur Hva er en stack? En datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 3: Maps og Hashing Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 3 1 / 25 Maps
DetaljerLøsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene
DetaljerHashMap. INF1000 Forelesning 9. Ulike versjoner i Java 1.4 (gammel) og Java 1.5/1.6 av HashMap. Objekter lagres med en søkenøkkel
HashMap INF1000 Forelesning 9 Hashmap Eksempel: Flyreservasjon Ofte har vi flere, mange objekter av en bestemt klasse - eks. : elever på en skole biler som har passert bomringen i Oslo telefonsamtaler
DetaljerINF1000 Forelesning 9. Hashmap Eksempel: Flyreservasjon
INF1000 Forelesning 9 Hashmap Eksempel: Flyreservasjon HashMap Ofte har vi flere, mange objekter av en bestemt klasse - eks. : elever på en skole biler som har passert bomringen i Oslo telefonsamtaler
DetaljerObligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1
Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1 Denne oppgaven skal løses to og to vha. systemutviklingsmetoden Parprogrammering. For å få levere må alle registrere seg gjennom
DetaljerMaps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type Hash-funksjoner hashcode Kollisjonshåndtering
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson
DetaljerKapittel 9: Sortering og søking Kort versjon
Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
DetaljerHva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først
Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid
Detaljer"Nelsons kaffebutikk"
"Nelsons kaffebutikk" et eksempel på systemutvikling med objekter Originale lysark av Jens Kaasbøll - mindre endringer av G. Skagestein og Knut Hegna IN105-javaNelson-1 Nelsons kaffebutikk Området som
Detaljerpublic class NaivRiking { private HeldigSnylter minsnylter; public NaivRiking(HeldigSnylter h) { minsnylter = h;
Forklaring til programmet NaivRiking.java (med tilhørende filer HeldigSnylter.java, Skattbar.java, FremkomstMiddel.java, Bil.java, Sykkel.java, Hus.java, Pils.java, Brus.java, Konto.java, SpareKonto.java)
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerMED TIDESTIMATER Løsningsforslag
Oppgavesettet består av 12 (mange) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 12 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 4 Beholdere
PG4200 Algoritmer og datastrukturer Forelesning 4 Beholdere Lars Sydnes, NITH 29. januar 2014 I. Java Collections, Datastrukturer, Grensesnitt og Implementering Grensesnitt og implementering Grensesnitt:
DetaljerMaps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type (kapittel.) Hash-funksjoner (kapittel..)
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:
Detaljer