View
36
Download
0
Category
Tags:
Preview:
DESCRIPTION
Föreläsning 5. Arrayer & ArrayList Hur man använder API:n Grafik (Frame, Button, Graphics). 0. 0. 0. 0. 0. 0. Array. Array är en indexerad lista av element som har samma typ. Man kan både ha arrayer av primitiva typer (int, double, char ,...) - PowerPoint PPT Presentation
Citation preview
Föreläsning 5
• Arrayer & ArrayList
• Hur man använder API:n
• Grafik (Frame, Button, Graphics)
Array
Array är en indexerad lista av element som har samma typ.
Man kan både ha arrayer av primitiva typer (int, double, char ,...) och arrayer av referens datatyper (String, … ).
int[] talArray=new int[6];
Index: 0 1 2 3 4 5int t= talArray[0];
talArray[4]= 121;
talArray
talArray[5]= 18;
0 0 0 0 0 018121
Index: 0 1 2 3 4 5
String[] namnArray=new String[6];
namnArray[0] =”Vahid”;
namnArray
null nullnullnullnullnull
”vahid”
String[] namnArray=new String[6];
namnArray[0] =”Vahid”;
namnArray[1]= ”johan”;
Index: 0 1 2 3 4 5namnArray
”vahid”
nullnullnullnullnull
”Johan”
String[] namnArray=new String[6];
namnArray[0] =”Vahid”;
namnArray[1]= ”johan”;
Index: 0 1 2 3 4 5namnArray
”vahid”
nullnullnullnull
”Johan”
String[] namnArray=new String[6];
namnArray[0] =”Vahid”;
namnArray[1]= ”johan”;
Index: 0 1 2 3 4 5namnArray
”vahid”
nullnullnull
”Johan”
namnArray[4]= namnArray[1];
null
String[] namnArray=new String[6];
namnArray[0] =”Vahid”;
namnArray[1]= ”johan”;
Index: 0 1 2 3 4 5namnArray
”vahid”
nullnullnull
”Johan”
namnArray[4]= namnArray[1];
Array har ett fält som heter length och den visar arrayens storlek.
t.ex:int[] enArray=new int[30];enArray.length; //har värdet 30
ArrayListArrayList är en klass som finns i paketet util, och därför måste man importera detta paket när man vill använda ArrayList.ArrayList har en del metoder som underlättar arbete med instanser av denna klass.Exampel:
ArrayList minLista= new ArrayList();minLista.size(); //returnerar 0minLista.addElement(”element 1 i listan”);minLista.size(); //returnerar 1minLista.add(”element 2 i listan”);
Skillnad mellan Arrayer och ArrayList• När man skapar en Array måste man ange storleken på
arreyen från början. Storleken kan sedan inte ändras, men när man vill skapa en instans av en ArrayList så behöver man inte ange bestämma storleken från början och storleken ändras automatisk när man lägger till eller tar bort.
• ArrayList kan inte innehålla primitiva typer d.v.s:minVek.add(12); är omöjligtminVek.add(’c’); är omöjligtFör att:boolean add(Object o); (kolla i API:n)Som syns metoden add tar endast emot en instans avklassen Object som parameter.(observera alla klasser i java är en underklass till klassen Object)
ArrayList minLista= new ArrayList();minLista.add(”Första element”);minLista.add(”Andra element”);
String element=(String)minVek.get(1);
minLista.remove(0);
minLista
Instans av klassen ArrayList
”Första element”
”Andra element”
element
ArrayList minLista= new ArrayList();minLista.add(”Första element”);minLista.add(”Andra element”);
String element=(String)minVek.get(1);
minLista.remove(0);
minLista
Instans av klassen ArrayList
”Första element”
”Andra element”
element
ArrayList minLista= new ArrayList();minLista.add(”Första element”);minLista.add(”Andra element”);
String element=(String)minVek.get(1);
minLista.remove(0);
minLista
Instans av klassen ArrayList
”Andra element”
element
MatriserMatriser kan man skapa av två hakvektorer (array).Exempel:int[][] heltalMatris= new int [3][6];
heltalMatris
Första index
0
1
2
0 1 2 3 4 5
andra index
heltalMatris[0][2]=124;
124
Kombination med slingor
• Eftersom att varje element i array och ArrayList har ett index så kan man kombinera slingor med arrayer.
Exempel:
Skriv ett program som frågar användaren efter 10 ord och skriver ut de ord som har udda antal tecken först och jämna antal tecken sist.
Hur man använder API:n• API:n består av en hel del paket som innehåller
massa definierade referens datatyper som vi ibland kallar de klasser.
• Varje klass en del metoder.• Metoder som har ordet static används på ett annat
sätt än metoder som inte innehåller static.• Beskrivning om parameter typ och retur-typ talar
om hur metoden ska anropas.• I den här kursen kommer vi använda paketen util, lang, io, awt, swing, applet mest av alla andra.
Hur man använder API:n
• För att anropa metoder som inte har ordet static så måste man skapa ett objekt av klassen.
• För att anropa metoder som har ordet static i deklarationen så ska man använda namnet på klassen.
• Antalet anrops parametrar och deras typ måste komma överens med antalet formella parameter.
Grafik i java
• Paketet awt (Abstract Window Tools) innehåller klasser och metoder som underlättar att skapa fönsterbaserat program.
• Frame är en klass som man kan skapa ett fönster med.
• Button är en klass som man kan skapa en knapp som man kan klicka på.
Exempel av Frame
//skapar ett fönster med en titel
Frame f= new Frame(”ett cool fönster”);
// sätter storlek på fönstret 100 pixlar
// i bredden och 200 pixlar ihöjden
f.setSize(100,200);
//visar fönstret på skärmen
f. show();
Frame är en Container
• I awt finns en graphic komponenter, en del av de är Container d.v.s. Att de kan innehålla andra komponenter. Frame är en container.
• Man kan därför lägga till andra komponenter som Button (knapp) i Frame.
Exempel av Button
Frame f= new Frame(”ett cool fönster med knapp”);
f.setSize(100,200);
//skapa en knapp
Button b = new Button(”en värdelös knapp”);
// lägg till knappen i fönstret annars kommer
// inte att synas
f.add(b);
f. show();
Recommended