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

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

Δημοσ.

Γεια χαρα,

 

Τις προάλλες προέκυψε το εξης πρόβλημα: Ειχα ενα key το οποιο ειχε 2 values.

πχ.

 

"one" -> 1 -> "I"

"two" -> 2 -> "II"

etc.

 

Τι εκανα? Εφταξα 2 hashmaps

hm1.put("one", 1);

hm1.put("two", 2)

 

hm2.put("one", "I");

hm2.put("two", "II");

 

Hθελα ανα πάσα στιγμή να έχω και τα 2 values για το κάθε Key. Eτσι εκανα 2 get

hm1.get("one")

hm2.get("one")

για να βρω τα values.

 

Μου φάνηκε λίγο χαζό αφού το key ειναι κοινό στα 2 hashmaps. Υπάρχει κάποιος καλύτερος τρόπος απο τη δημιουργια των 2 hashmaps? LinkedList of hashmaps?

 

thanks αλάνια

Δημοσ.

Το HashMap είναι generic στο key και στο value, επομένως μπορείς να επιλέξεις ο,τι value θέλεις. Δεν είναι λίγο προφανές το σενάριο να επιλέξεις σαν value να έχεις π.χ. ArrayList<string> οπότε και βάζεις μέσα όσες τιμές θέλεις ανα key?

  • Like 3
Δημοσ.

Το HashMap είναι generic στο key και στο value, επομένως μπορείς να επιλέξεις ο,τι value θέλεις. Δεν είναι λίγο προφανές το σενάριο να επιλέξεις σαν value να έχεις π.χ. ArrayList<string> οπότε και βάζεις μέσα όσες τιμές θέλεις ανα key?

 

Ναι τώρα που το είδα μπροστά μου είναι!

πριν δεν ήταν! :-D

Δημοσ.
struct { int n; string name }

Βάλε αυτό για value.

 

 

structs στην java οχι,

 

κατι τετοιο ναι:

public class Simple
{
    public int n;
    public String s;
}
  • Like 2
Δημοσ.

Το HashMap είναι generic στο key και στο value, επομένως μπορείς να επιλέξεις ο,τι value θέλεις. Δεν είναι λίγο προφανές το σενάριο να επιλέξεις σαν value να έχεις π.χ. ArrayList<string> οπότε και βάζεις μέσα όσες τιμές θέλεις ανα key?

 

 

Ή, εάν θέλεις διαφορετικό primary data type, τότε κάνε αυτό που προτείνει ο AlexHello. 

 

Οπότε, εάν έχεις την κλάση MyHashMapValue, τότε δηλώνεις τον HashMap ως <String, MyHashMapValue>. Και εάν θες μπορείς να έχεις και μέθοδο getIntMember και getStringMember. 

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

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

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

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

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

Σύνδεση

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

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