Εγω ειμαι ρε Δημοσ. 14 Απριλίου 2016 Δημοσ. 14 Απριλίου 2016 Καλησπέρα σας, γιατί χρησιμοποιούνται οι λίστες στην java ;Πως γίνεται αντί να δώσουμε το μέγεθος του πίνακα από την αρχή, να χρησιμοποιήσουμε έναν τρόπο ώστε να αυξάνεται το μέγεθος του πίνακα ανάλογα με πόσες καταχωρήσεις θα γίνουν δηλαδή π.χ. Εαν έχουμε ένα πρόγραμμα που μετράει πόσα αμάξια εισήλθαν στο parking , εάν φτιάχναμε ένα πίνακα(int) με 1000 θέσεις που θα κρατούσε τους αριθμούς (των πινακίδων μόνο) ίσως ο μέγεθος του πίνακα να ήταν μικρός, ή υπεραρκετός και να καταναλώναμε τσάμπα μνήμη, τότε πως θα μπορούσαμε να φτιάξουμε έναν πίνακα που να έχει τόσο μέγεθος όσο το πλήθος των αυτοκινήτων που εισήλθαν στο parking ; (για java μιλάμε)
Grim Ripper Δημοσ. 14 Απριλίου 2016 Δημοσ. 14 Απριλίου 2016 Με while υποθέτω θα γινόταν, δυστυχώς δεν γνωρίζω αρκετά για να βοηθήσω περισσότερο. Με while θα μπορούσε να τρέχει μέχρι να δώσεις 0 ας πούμε οπότε και να σταματήσει.
Εγω ειμαι ρε Δημοσ. 14 Απριλίου 2016 Μέλος Δημοσ. 14 Απριλίου 2016 Με while υποθέτω θα γινόταν, δυστυχώς δεν γνωρίζω αρκετά για να βοηθήσω περισσότερο. Με while θα μπορούσε να τρέχει μέχρι να δώσεις 0 ας πούμε οπότε και να σταματήσει. ναι όμως το while δεν θα ήταν σωστός τρόπος γιατί θα κατανάλωνε τσάμπα υπολογιστική ισχύ, εάν βασιζόταν σε κάποιο event θα ήταν αρκετά ποιο οικονομική σε σχέση στην υπολογιστική ισχύ. Το θέμα είναι πως με το που μπήκα 6ο εξάμηνο μας ζήτησαν να φτιάξουμε γραφικό πρόγραμμα κάτοψη κτηρίου χωρίς καν να έχουμε διδαχθεί java ούτε να μας έχουν διδάξει έστω και λίγο το πως δουλεύουν τα γραφικά, οι βιβλιοθήκες κτλ.., για αυτό έχω κάνει φύλλο και φτερό το διαδίκτυο μιας και δεν έχω το χρόνο να διαβάσω java κτλ. έχω κάποια μικρή εμπειρία σε θέματα προγραμματισμού αλλά να μην το κουράζω το θέμα σε ευχαριστώ πάντως φίλε.. 1
Εγω ειμαι ρε Δημοσ. 14 Απριλίου 2016 Μέλος Δημοσ. 14 Απριλίου 2016 ArrayList ή Vector. θα μπορούσες να εξηγήσεις πως λειτουργεί ακριβώς το ArrayList ή κάποιο λινκ με κάποιο example;
Moderators Kercyn Δημοσ. 14 Απριλίου 2016 Moderators Δημοσ. 14 Απριλίου 2016 http://www.tutorialspoint.com/java/java_arraylist_class.htm Δεύτερο αποτέλεσμα για "ArrayList java".
Εγω ειμαι ρε Δημοσ. 14 Απριλίου 2016 Μέλος Δημοσ. 14 Απριλίου 2016 στο ArrayList δεν μπορούμε να καθορίσουμε τον τύπο δεδομένων που θα κρατήσει ; τέλος η δήλωση τούτη : ArrayList a1 = new ArrayList(); από την δήλωση αυτή : List <String> a1 = new ArrayList<>(); Που διαφέρει ;
groot Δημοσ. 14 Απριλίου 2016 Δημοσ. 14 Απριλίου 2016 (επεξεργασμένο) Well... το List είναι interface. Σε όρους C++, το List είναι μία abstract class με συγκεκριμένες pure virtual methods. Ό λόγος που το κάνει κανείς: List<int> a = new ArrayList<>(); είναι γιατί θέλει να έχει την λειτουργικότητα της λίστας (List) και να την υλοποιήσει με ArrayList. Μπορεί αύριο-μεθαύριο να καταλήξει ότι θέλει να χρησιμοποιήσει LinkedList αντί για ArrayList. Έχοντας όμως στον κώδικα την σύμβαση ότι το a είναι List, μπορεί να κάνει: List<int> a = new LinkedList<>(); και όλα τα άλλα να παίζουν ως έχουν χωρίς να τα πειράξει! Στα lists είναι λίγο θέμα καλών πρακτικών να χρησιμοποιείς το interface. Όμως στα Map ή ό,τι άλλο φτιάξεις, τότε είναι σοβαρό θέμα λειτουργικότητας. Π.χ., στο παράδειγμά σου με το parking. Δεν θα θέλεις να έχεις διαφορετικές χρεώσεις αναλόγως με το όχημα; Πως όμως θα έχεις ένα κοινό interface για όλα τα οχήματα έτσι ώστε να μην σε νοιάζει; Θα μπορούσες, π.χ, να έχεις: ICar car = new SimpleCar(); sout(car.charge()); sout(car.plate()); Εάν το SimpleCar είναι το Ι.Χ.. Όμως, τι γίνεται στην περίπτωση νταλίκας; Δες: ICar car = new Ntalika(); sout(car.charge()); sout(car.plate()); Άρα, το μόνο που σε νοιάζει πλέον είναι το interface σου και όχι τι κλάση είναι το αυτοκίνητο. Επεξ/σία 14 Απριλίου 2016 από groot 1
Εγω ειμαι ρε Δημοσ. 14 Απριλίου 2016 Μέλος Δημοσ. 14 Απριλίου 2016 σας ευχαριστώ με καλύψατε πλήρως σε αυτό το κομμάτι
Εγω ειμαι ρε Δημοσ. 15 Απριλίου 2016 Μέλος Δημοσ. 15 Απριλίου 2016 Καλησπέρα σας, μια ερώτηση σχετικά για τα canvas, έχω είδη φτιάξει ώστε με το event click να δημιουργείτε Rectangles μέσα στo jPanel, τώρα θέλω να φτιάξω ώστε ο χρήστης να το κινεί με το ποντίκι, η αλήθεια είναι ότι ένα Rectangle (τετραγωνάκι) θεωρητικά είναι και canvas, όμως υπάρχει μια μέθοδο που θέλω να χρησιμοποιήσω (το objectCanvas.contains( point ) ) και αφορά τα canvas, public void onMouseClick( Location point ) { if( rectangle.contains ( point ) ) //βγάζει σφάλμα γιατί είναι κλάσης Rectangles { //clicked inside canvas } else { //clicked outside canvas } } Πως μπορεί να τοποθετηθεί ένα Rectangle μέσα σε Canvas ; Συγνώμη το έκανα λίγο σαλάτα βασικά με απλή κληρονομικότητα θα γινόταν πιστεύω //update
Moderators Kercyn Δημοσ. 15 Απριλίου 2016 Moderators Δημοσ. 15 Απριλίου 2016 Δε νομίζω να μπορώ να σε βοηθήσω γιατί δεν ξέρω Java, ρίξε όμως μια ματιά εδώ μήπως σε βοηθήσει. 1
tsofras Δημοσ. 15 Απριλίου 2016 Δημοσ. 15 Απριλίου 2016 στο ArrayList δεν μπορούμε να καθορίσουμε τον τύπο δεδομένων που θα κρατήσει ; τέλος η δήλωση τούτη : ArrayList a1 = new ArrayList(); από την δήλωση αυτή : List <String> a1 = new ArrayList<>(); Που διαφέρει ; Η διαφορά της δήλωσης είναι ότι χρησιμοποιεί Generics για να δηλώσει τον τύπο του αντικειμένου που θα περιέχει η λίστα. Οπότε με αυτή τη δήλωση του λές ότι η λίστα σου θα έχει μόνο αντικείμενα τύπου String, οπότε και ο compiler θα σου χτυπάει αν πάς να βάλεις κάποιο διαφορετικό τύπο και δεν χρειάζεται να κάνεις απο μόνος σου cast τα αντικείμενα της λίστας
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα