This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:inner_classes [2017/04/02 23:44] gthanos |
java:inner_classes [2019/04/02 20:20] gthanos |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| Η λίστα θα χρειαστεί να έχει δύο βοηθητικές κλάσεις | Η λίστα θα χρειαστεί να έχει δύο βοηθητικές κλάσεις | ||
| - την κλάση που περιγράφει τον κόμβο της λίστας και | - την κλάση που περιγράφει τον κόμβο της λίστας και | ||
| - | - μία κλάση τύπου iterator για την διάτρεξη της λίστας | + | - μία κλάση τύπου |
| Οι δύο παραπάνω κλάσεις εξυπηρετεί να δηλωθούν ως εσωτερικές κλάσεις αποκρύπτοντας την υλοποίηση των κλάσεων αυτών. Το παραπάνω επιτρέπει η λίστα να είναι συμβατή με τα interfaces [[http:// | Οι δύο παραπάνω κλάσεις εξυπηρετεί να δηλωθούν ως εσωτερικές κλάσεις αποκρύπτοντας την υλοποίηση των κλάσεων αυτών. Το παραπάνω επιτρέπει η λίστα να είναι συμβατή με τα interfaces [[http:// | ||
| Line 35: | Line 35: | ||
| } | } | ||
| | | ||
| - | private class Iterator< | + | private class Iterator< |
| Node< | Node< | ||
| public Iterator(Node< | public Iterator(Node< | ||
| Line 93: | Line 93: | ||
| Το παρακάτω πρόγραμμα επιχειρεί να δημιουργήσει μία λίστα με 20 τυχαίους αριθμούς και στη συνέχεια να τους εκτυπώσει χρησιμοποιώντας τον Iterator της λίστας. Παρατηρήστε ότι σε κανένα σημείου του προγράμματος δεν αποκαλύπτεται η ύπαρξη των εσωτερικών κλάσεων //Node// και // | Το παρακάτω πρόγραμμα επιχειρεί να δημιουργήσει μία λίστα με 20 τυχαίους αριθμούς και στη συνέχεια να τους εκτυπώσει χρησιμοποιώντας τον Iterator της λίστας. Παρατηρήστε ότι σε κανένα σημείου του προγράμματος δεν αποκαλύπτεται η ύπαρξη των εσωτερικών κλάσεων //Node// και // | ||
| - | <WRAP todo center 80% round> Επιχειρήσετε να συμπληρώσετε την κλάση LinkedList ώστε να ικανοποιεί το interface [[http:// | + | <code java LinkedListUsage.java> |
| + | import java.util.*; | ||
| + | |||
| + | public class LinkedListUsage { | ||
| + | public static final int SIZE = 20; | ||
| + | |||
| + | public static void main(String[] args) { | ||
| + | Random rand = new Random( new Date().getTime()); | ||
| + | LinkedList< | ||
| + | for(int i=0; i<SIZE; i++) { | ||
| + | list.add(rand.nextInt(8*SIZE)); | ||
| + | } | ||
| + | Iterator< | ||
| + | while(it.hasNext()) { | ||
| + | System.out.print(it.next()+" | ||
| + | } | ||
| + | System.out.println(); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <WRAP todo center 80% round> | ||
| </ | </ | ||
| |Προηγούμενο: | |Προηγούμενο: | ||