Array List Array ListT my List new Array

  • Slides: 27
Download presentation

Array. List • Διατρέχοντας τον πίνακα: Array. List<T> my. List = new Array. List<T>();

Array. List • Διατρέχοντας τον πίνακα: Array. List<T> my. List = new Array. List<T>(); for(T x: my. List){ System. out. println(x); } • Εναλλακτικά Array. List<T> my. List = new Array. List<T>(); for(int i=0; i < my. List. size(); i++){ T x = my. List. get(i); System. out. println(x); }

class Player { private String name; private int number; public Player(String name, int num){

class Player { private String name; private int number; public Player(String name, int num){ this. name = name; this. number = num; } public String to. String(){ return name+": "+number; } } import java. util. Array. List; class Team { private Array. List<Player> team. Members = new Array. List<Player>(); public void join. Team(Player p){ team. Members. add(p); } public void leave. Team(Player p){ team. Members. remove(p); } public void list. Members(){ for (Player p: team. Members){ System. out. println(p); } } public static void main(String[] args){ Team miami = new Team(); Player lebron = new Player("Lebron", 6); miami. join. Team(lebron); Player wade = new Player("Wade", 3); miami. join. Team(wade); Player bosh = new Player("Bosh", 1); miami. join. Team(bosh); miami. leave. Team(bosh); miami. list. Members(); }

UML διάγραμμα Department Student Course Student. Record Professor

UML διάγραμμα Department Student Course Student. Record Professor

public class Professor { private String name; private int AFM; private Course lesson; public

public class Professor { private String name; private int AFM; private Course lesson; public Professor(String name, int afm){ this. name = name; this. AFM = afm; } public void set. Lesson(Course c){ lesson = c; } public String to. String(){ return name + " " + AFM + " " + lesson; } }

public class Student { private String name; private int AM; private int units =

public class Student { private String name; private int AM; private int units = 0; public Student(String name, int am){ this. name = name; this. AM = am; } public String get. Name(){ return name; } public void add. Units(int units){ this. units += units; } public String to. String(){ return name +" AM: " + AM + " units: " + units; } }

public class Student. Record { private Student student; private double grade; public Student. Record(Student

public class Student. Record { private Student student; private double grade; public Student. Record(Student s){ student = s; } public void set. Grade(double grade){ this. grade = grade; } public Student get. Student(){ return student; } public String to. String(){ return student +" : " + grade; } public boolean passed(){ if (grade >= 5){ return true; } return false; } }

import java. util. Array. List; import java. util. Scanner; public class Course { private

import java. util. Array. List; import java. util. Scanner; public class Course { private String name; private int code; private int units; private Professor prof; private Array. List<Student. Record> student. List = new Array. List<Student. Record>(); public Course(String name, int code, int units){ this. name = name; Χρησιμοποιούμε το this ως αναφορά this. code = code; στο παρόν αντικείμενο, ώστε να το this. units = units; προσθέσουμε στο αντικείμενο } Professor public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } Δημιουργία του αντικειμένου Student. Record και ταυτόχρονη προσθήκη στη λίστα Λέγεται και «ανώνυμο αντικείμενο» public void enroll(Student s){ student. List. add(new Student. Record(s)); }

public void assign. Grades(){ System. out. println("Give grades for course "+to. String()); Scanner input

public void assign. Grades(){ System. out. println("Give grades for course "+to. String()); Scanner input = new Scanner(System. in); for(Student. Record record: student. List){ System. out. println("Give grade for student “ Διασχίζουμε τη + sr. get. Student(). get. Name() +": "); λίστα των double grade = input. next. Double(); φοιτητών record. set. Grade(grade); if (record. passed()){ record. get. Student(). add. Units(units); } } Αλυσιδωτές κλήσεις μεθόδων } Γίνεται εφόσον μια μέθοδος επιστρέφει αντικείμενο. public String to. String(){ return name + " " + code + "("+units + ")"; } public void print. Info(){ System. out. println("Course " + name +" " + code + "("+units + ")"); for (Student. Record r: student. List){ System. out. println(r); } } }

import java. util. Scanner; Χρησιμοποιούμε τις παραμέτρους εκτέλεσης (command line arguments) για να περάσουμε

import java. util. Scanner; Χρησιμοποιούμε τις παραμέτρους εκτέλεσης (command line arguments) για να περάσουμε τον αριθμό των φοιτητών class Department { public static void main(String[] args) { int num. Of. Students = Integer. parse. Int(args[0]); Professor prof. X = new Professor("Prof X", 2012); Professor prof. Y = new Professor("Prof Y", 2013); Μετατρέπουμε το String σε ακέραιο με την μέθοδο Integer. parse. Int Course oop = new Course("oop", 212, 10); Course intro = new Course("intro", 101, 5); Student[] students = new Student[num. Of. Students]; Scanner input = new Scanner(System. in); for (int i = 0; i < num. Of. Students; i ++){ System. out. print("Give student name: "); String name = input. next(); students[i] = new Student(name, i); } oop. set. Prof(prof. X); oop. enroll(students[0]); oop. enroll(students[1]); oop. enroll(students[3 ]); intro. set. Prof(prof. Y); intro. enroll(students[2]); intro. enroll(students[3 ]); oop. assign. Grades(); intro. assign. Grades (); System. out. println(prof. X); System. out. println(prof. Y); oop. print. Info(); intro. print. Info (); } }

public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } name “Prof.

public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } name “Prof. X” AFM 2012 lesson null set. Prof p 0 x 0010 this 0 x 0020 name “OOP” code 212 units 10 prof null student. List 0 x 0020

public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } name “Prof.

public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } name “Prof. X” AFM 2012 lesson null set. Prof p 0 x 0010 this 0 x 0020 name “OOP” code 212 units 10 prof 0 x 0010 student. List 0 x 0020

public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } name “Prof.

public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } name “Prof. X” AFM 2012 lesson 0 x 0020 set. Prof p 0 x 0010 this 0 x 0020 name “OOP” code 212 units 10 prof 0 x 0010 student. List 0 x 0020

UML διάγραμμα Department Student Course Student. Record Professor

UML διάγραμμα Department Student Course Student. Record Professor

public class Student { Αν θέλουμε ο φοιτητής να κρατάει private String name; private

public class Student { Αν θέλουμε ο φοιτητής να κρατάει private String name; private int AM; πληροφορία για το ποια μαθήματα private int units = 0; Array. List<Course> courses = new Array. List<Course>(); public Student(String name, int am){ this. name = name; this. AM = am; } public String get. Name(){ return name; } public void add. Units(int units){ this. units += units; } public void add. Course(Course c){ courses. add(c); } public String to. String(){ return name +" AM: " + AM + " units: " + units; } } παίρνει

import java. util. Array. List; import java. util. Scanner; public class Course { private

import java. util. Array. List; import java. util. Scanner; public class Course { private String name; private int code; private int units; private Professor prof; private Array. List<Student. Record> student. List = new Array. List<Student. Record>(); public Course(String name, int code, int units){ this. name = name; this. code = code; this. units = units; } public void set. Prof(Professor p){ prof = p; p. set. Lesson(this); } public void enroll(Student s){ student. List. add(new Student. Record(s)); s. add. Course(this); }