Sobes.tech
Junior — Middle

Είναι ασφαλές να προσπαθείτε να λάβετε μια τιμή από ένα HashMap με ένα κλειδί που δεν υπάρχει;

sobes.tech AI

Απάντηση από AI

Στην Java, όταν προσπαθείτε να λάβετε μια τιμή από ένα HashMap με ένα κλειδί που δεν υπάρχει, η μέθοδος get() επιστρέφει null. Αυτό είναι ασφαλές όσον αφορά την αποφυγή εξαιρέσεων — το πρόγραμμα δεν θα καταρρεύσει. Ωστόσο, πρέπει να λάβετε υπόψη ότι το null μπορεί να σημαίνει είτε ότι το κλειδί απουσιάζει είτε ότι το κλειδί έχει ρητά συσχετιστεί με την τιμή null.

Παράδειγμα:

HashMap<String, String> map = new HashMap<>();
map.put("key1", "value1");

String value = map.get("key2"); // θα επιστρέψει null, επειδή το κλειδί "key2" δεν υπάρχει

if (value == null) {
    System.out.println("Το κλειδί δεν βρέθηκε ή η τιμή είναι null");
}

Εάν είναι σημαντικό να διακρίνετε μεταξύ της απουσίας του κλειδιού και της τιμής null, μπορείτε να χρησιμοποιήσετε τη μέθοδο containsKey().