JavaPython:Sõnastikud
Java vs Python |
|
Pythoni sõnastikud on sarnased Java kujutistele (map-idele). Viimane kasutab erinevalt Pythonile objekti süntaksi. Literaalid puuduvad.
Kujutis on andmekogum, kus võtmete hulga igale elemendile on vastavuses üks väärtuste hulga element. Võib vaadelda nii, et kujutis sisaldab kaheosalisi kirjeid, mille esimest komponenti nimetatakse võtmeks ja teist väärtuseks. Ühe võtmega elemente võib olla vaid üks. Kasutatakse juhul, kui on vaja kiiresti mingi väärtuse (võtme) järgi üles leida teist väärtust. Võtit ja väärtust võib vaadelda ka kui seost - võti on seotud väärtusega. Vaatame konkreetset realisatsiooni räsitabel (HashMap).
Räsitabeli deklareerimine ja loomine näeb välja järgnevalt:
HashMap<keyType, valueType> variable = new HashSet<keyType, valueType>();
Veel võimalusi:
type put(key, value) (returns previous value), type get(key), boolean containsKey(key).
Näide
Java | Python |
---|---|
<syntaxhighlight lang="java" line="1" >
HashMap<String, String> phoneBook = new HashMap<String, String>(); phoneBook.put("Mike", "555-1111"); phoneBook.put("Lucy", "555-2222"); phoneBook.put("Jack", "555-3333"); //iterate over HashMap Map<String, String> map = new HashMap<String, String>(); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } //get key value phoneBook.get("Mike"); //get all key Set keys = phoneBook.keySet(); //get number of elements phoneBook.size(); //delete all elements phoneBook.clear(); //delete an element phoneBook.remove("Lucy"); </syntaxhighlight> |
<syntaxhighlight lang="python" line="2" >
phoneBook = {} phoneBook = {"Mike":"555-1111", "Lucy":"555-2222", "Jack":"555-3333"}
for key in phoneBook: print(key, phoneBook[key])
phoneBook["Mary"] = "555-6666"
del phoneBook["Mike"]
count = len(phoneBook)
phoneBook["Susan"] = (1,2,3,4)
print(phoneBook.keys())
phoneBook.clear() </syntaxhighlight> |