Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

 

Έχω μια απορία.

 

Ποιες είναι οι διαφορές μεταξύ List , Object και πίνακα... στην java (λογικά οπουδήποτε ισχύει)

 

Συγνώμη για την ταλαιπωρία απλά αν μπορεί κάποιος να μου απαντήσει. Ευχαριστώ πολύ!

Δημοσ.

Αυτά που ρωτάς είναι πολύ βασικά..Πρέπει να διβάσεις κάποιο βιβλίο η tutorial.

 

Πίνακας και List είναι δόμες δεδομένων κράτανε κάποια δεδομένα.

Object είναι μια δομή που κρατάει δεδομένα και συναρτήσεις (μέθοδοι). Δημιουργείς object από μια κλάση με την δεσμευμενη λέξη new.

Δημοσ.

Το θέμα είναι ξέρω τους ορισμούς τους. Ξέρω να τα φτιάχνω στην java.  Δεν είναι δύσκολο.

 

Object : Top bottom = new Top(); (Καλώ την κλάση Top με το όνομα bottom στην τρέχουσα κλάση) Οπότε μπορώ να χρησιμοποιήσω τις μεθόδους της π.χ bottom.method();

 

Πινακας: int d1[] = new int [4]; 

 

Το πρόβλημα μου είναι ότι δεν μπορώ να καταλαβώ πως πρέπει να αναφέρω σωστά τις διαφορές τους..

Στο object Καλείς μια αλλή κλάση και την χρησιμοποιείς

 

Στον πίνακα μπορείς να περάσεις δεδομένα και να τα έχει δομημένα, κάνοντας μονοδιάστατους, δυσδιάστατους, τρισδιάστατους πίνακες. Όπως επίσης να κάνεις ένα object πίνακα. π.χ Top[] bottom = new Top [4]. Η να χρησιμοποιήσεις "for" και να γεμίσεις τον πίνακα γρήγορα.

 

Δεν μπορώ να καταλάβω τι διαφορές να επισημάνω. Έιδικά με την λίστα που δεν έχω χρησιμοποιήσει ποτέ.

 

Απλά θέλω βοήθεια αν μπορείς να με βοηθήσεις να τα πω σωστά με δύο λόγια. Ειδικά με το κομμάτι της λίστας.

 

Αν αρχίσουμε από το κομμάτι ότι με το να ορίζουμε μεταβλητή κρατάμε συγκεκριμένα δεδομένα σε μια θέση της μνήμης τότε δεν θα τελειώσουμε ποτέ :)) . (Το ξέρω ότι είναι βασικά, αρκετά πράγματα τα γνωρίζω απλά ξέρω τους βασικούς ορισμούς τους.)

Δημοσ.

Μπορεί να σε βοηθήσει για τα Objects.

 

Λίστες vs. Πίνακες

Πίνακας γραφικά είναι αυτό:

+--+--+--+--+--+ ... +--+
|  |  |  |  |  | ... |  |
+--+--+--+--+--+ ... +--+
|  |  |  |  |  | ... |  |
+--+--+--+--+--+ ... +--+
|  |  |  |  |  | ... |  |
+--+--+--+--+--+ ... +--+
:  :  :  :  :  :  .  :  :
+--+--+--+--+--+ ... +--+
|  |  |  |  |  | ... |  |
+--+--+--+--+--+ ... +--+

Τα κελιά είναι σε συνεχόμενες θέσεις μνήμης.

Πρέπει να γνωρίζεις από πριν πόσα στοιχεία χρειάζεται να αποθηκεύσεις στις θέσεις του πίνακα. Πρέπει να δηλώσεις το μέγεθός του πριν εκτελέσεις το πρόγραμμα.

 

Λίστα είναι αυτό:

    +--+     +--+     +--+     +--+
--->|  |---->|  |---->|  |---->|  |--->
    +--+     +--+     +--+     +--+

Τα "βαγονάκια" δεν είναι απαραίτητα σε διαδοχικές θέσεις μνήμης.

Δε χρειάζεται να γνωρίζεις από πριν το πόσα στοιχεία θα χωρέσεις σε μία λίστα. Είσαι πολύ ελεύθυερος με μία λίστα.

 

Αυτές είναι οι δύο βασικές διαφορές αυτών των δύο δομών. Δεν κατάλαβα ακριβώς τι ρωτάς, οπότε δεν επέκτεινα. Αν μπορούσες να γίνεις λίγο συγκεκριμένος/η...

 

Πάντως για δομές δεδομένων και συγκεκριμένα γραμμικές που είναι οι λίστες και οι πίνακες μπορείς να μάθεις κάποια πράγματα εδώ.

  • Like 1
Δημοσ.

Η ερώτηση που μας δόθηκε σαν άσκηση στο σπίτι είναι η εξής

 

Ποιες οι διαφορές των παρακάτω στη Java:

  • List
  • Πίνακας
  • Object

Δεν ξέρω πως να τα συγκρίνω και να πω τις διαφορές τους.

 

Πάντως ευχαριστώ για την βοήθεια. Μόλις τώρα θα τα κοιτάξω.

 

edit

δηλαδή

πινακας

int table [] = new int[4] ; <- στον πινακα οριζουμε ότι θα μπορει να δεχτεί από 0 εως 3 στοιχεια

ενώ στην λίστα δεν ορίζεται κάτι τέτοιο?

δλδ είναι κατι σαν

list d1 = new list() ??? (Στην τυχη το ειπα.)

Δημοσ.

Γραφει και object; Δηλαδη ο καθηγητης σας΄ σας ρωταει ποια η διαφορα του array, list και του object object object object

 

Υγ; gon. αυτες τις "ascii image", τα κανεις με κανα προγραμμα ή με το χερι;

  • Moderators
Δημοσ.

Γραφει και object; Δηλαδη ο καθηγητης σας΄ σας ρωταει ποια η διαφορα του array, list και του object object object object

 

Ένα array είναι object αλλά ένα object δεν είναι απαραίτητα array (σαν το παγώνι και το πεπόνι ένα πράγμα :P)

Δημοσ.

Οπότε εγώ τι να απαντήσω?

Εβαλα

 

Στον πίνακα

Τα κελιά βρισκονται σε συνεχόμενες θέσεις μνήμης. Πρέπει να γνωρίζουμε από πριν πόσα στοιχεία χρειάζεται να αποθηκεύσεις στις θέσεις του πίνακα. Πρέπει να δηλώσεις το μέγεθός του πριν εκτελέσεις το πρόγραμμα.

 

Ενώ στην λίστα

Δε χρειάζεται να γνωρίζεις από πριν το πόσα στοιχεία θα χωρέσεις σε μία λίστα. Επίσης, τα κελιά δεν είναι απαραίτητα σε διαδοχικές θέσεις μνήμης.

 

Thanks για την βοηθεια gon1332

 

 

Για το object? Τι διαφορά να πω? Ότι κάνει κλήση ολόκληρη κλάση με όλες τις μεθόδους της?

Δημοσ.

Ναι :S Ακριβώς την εκφώνηση έβαλα

Κοιτα, οι διαφορες αναμεσα σε array(πινακας)/list, θα τις βρεις με ενα google array vs list. Με list μπορεις να προσθετεις και να αφαιρεις στοιχεια με array οχι μπλα μπλα μπλα. Αλλα το object... Τι να σου πω.. 

  • Like 1
Δημοσ.

Υγ; gon. αυτες τις "ascii image", τα κανεις με κανα προγραμμα ή με το χερι;

Με το χέρι.

 

 

Για το object? Τι διαφορά να πω? Ότι κάνει κλήση ολόκληρη κλάση με όλες τις μεθόδους της?

Δε μπορείς να το συγκρίνεις με τα παραπάνω. Να έλεγε κλάση τουλάχιστον-θα έπεφτε πιο κοντά, αλλά και πάλι έτη φωτός μακριά. Είπε object.

Μία λίστα, ένας πίνακας και οποιαδήποτε άλλη δομή δεδομένων μπορεί να αοπτελείται είτε από integers, floats κλπ, όπως και από objects.

  • Moderators
Δημοσ.

Τα objects δεν έχουν "διαφορές" με τα arrays και τα lists. Είναι σα να σε ρωτάει τι διαφορές έχει ένα αυτοκίνητο με ένα μήλο. Δε μπορείς να τα "συγκρίνεις". Διάβασε αυτό που σου έδωσε ο gon1332 για τα objects και βοήθειά σου...

 

Edit:

 

Υγ; gon. αυτες τις "ascii image", τα κανεις με κανα προγραμμα ή με το χερι;

 

Σκέφτεσαι να κάνεις κάνα πρόγραμμα που να παίρνει μια εικόνα και να τη μετατρέπει σε ascii; Είχα δει ένα project που είχες κάνει με 3D σχήματα στην κονσόλα :P

 

Edit 2:

Μάνο αν επιτρέπεται από πού είναι αυτή η άσκηση;

Δημοσ.

Ευχαριστώ πολύ και πάλι για την βοήθεια σας.. Οπότε δίκαια μπερδεύτηκα.. Φυσικά θα πρέπει να γράψω έστω και μια απάντηση για το object οπότε θα πω

 

Αντικείμενο:

Συλλογή μεταβλητών που απαρτίζουν τις ιδιότητες ενός συγκεκριμένου φυσικού ή θεμελιώδη αντικειμένου. Όπως επίσης

και συλλογή καθορισμένων λειτουργιών (μεθόδων) για παρατήρηση και αλλαγή των πεδίων του αντικειμένου.

 

Από τον καθηγητή μας είναι η άσκηση.

  • Moderators
Δημοσ.

Ναι βρε παιδί μου, εννοώ αν είσαι σε κάποια σχολή, γιατί καθηγητές υπάρχουν και αλλού.

Δημοσ.

Στο τμήμα πληροφορικής στο πανεπιστήμιο του Πειραιά.. Πιστεύεις πως θα μπορούσε να δοθεί μια τέτοια απάντηση? (όπως ανέφερα παραπάνω)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...