Erinevus lehekülje "JavaPython:Hulk" redaktsioonide vahel
(ei näidata sama kasutaja 3 vahepealset redaktsiooni) | |||
1. rida: | 1. rida: | ||
{{JavaPython-sisukord}} | {{JavaPython-sisukord}} | ||
+ | |||
+ | Hulk (ingl set) ei sisalda elementide kordusi. Hulk pole järjestatud - elementide küsimine hulgast võib iga kord anda erineva järjestuse. Javas on järjekordselt palju erinevaid hulkasid, Pythoni hulgale kõige analoogne andmetüüp on Javas <b>räsihulk (HashSet)</b>, mis kasutab objekti süntaksid. Literaalid puuduvad. Deklareerimine ja loomine näeb välja järgnevalt: | ||
+ | <pre>HashSet<type> variable = new HashSet<type>();</pre> | ||
+ | |||
+ | Teisi võimalusi: | ||
+ | <pre>boolean add(object), boolean remove(object), boolean isEmpty(), boolean contains(object), | ||
+ | boolean addAll(collection) (union), boolean retainAll(collection) (intersection), | ||
+ | boolean removeAll(collection) (set difference), boolean containsAll(collection) (subset).</pre> | ||
+ | |||
+ | <b>Räsihulk</b> on üks kogumi tüüp. Hulgaga manipuleeritavad tegevused tagastavad kas <b>true</b>, kui hulka muudeti ja <b>false</b>, kui hulka ei muudetud. | ||
== Näide == | == Näide == | ||
18. rida: | 28. rida: | ||
Iterator<String> iterator = aSet.iterator(); | Iterator<String> iterator = aSet.iterator(); | ||
while (iterator.hasNext()) { | while (iterator.hasNext()) { | ||
− | + | System.out.print(iterator.next() + " "); | |
} | } | ||
45. rida: | 55. rida: | ||
|<syntaxhighlight lang="python" line="2" > | |<syntaxhighlight lang="python" line="2" > | ||
aSet = set() | aSet = set() | ||
− | aSet = set("one") # a set containing three letters | + | aSet = set("one") |
+ | # a set containing three letters | ||
#set(['e', 'o', 'n']) | #set(['e', 'o', 'n']) | ||
54. rida: | 65. rida: | ||
#iterate over set | #iterate over set | ||
for v in aSet: | for v in aSet: | ||
− | print v | + | print(v) |
bSet = set(['three','four', 'five']) | bSet = set(['three','four', 'five']) |
Viimane redaktsioon: 4. veebruar 2016, kell 10:24
Java vs Python |
|
Hulk (ingl set) ei sisalda elementide kordusi. Hulk pole järjestatud - elementide küsimine hulgast võib iga kord anda erineva järjestuse. Javas on järjekordselt palju erinevaid hulkasid, Pythoni hulgale kõige analoogne andmetüüp on Javas räsihulk (HashSet), mis kasutab objekti süntaksid. Literaalid puuduvad. Deklareerimine ja loomine näeb välja järgnevalt:
HashSet<type> variable = new HashSet<type>();
Teisi võimalusi:
boolean add(object), boolean remove(object), boolean isEmpty(), boolean contains(object), boolean addAll(collection) (union), boolean retainAll(collection) (intersection), boolean removeAll(collection) (set difference), boolean containsAll(collection) (subset).
Räsihulk on üks kogumi tüüp. Hulgaga manipuleeritavad tegevused tagastavad kas true, kui hulka muudeti ja false, kui hulka ei muudetud.
Näide
Java | Python |
---|---|
<syntaxhighlight lang="java" line="1" >
//hashset HashSet<String> aSet = new HashSet<String>(); aSet.add("aaaa"); aSet.add("bbbb"); aSet.add("cccc"); aSet.add("dddd"); //iterate over set Iterator<String> iterator = aSet.iterator(); while (iterator.hasNext()) { System.out.print(iterator.next() + " "); } HashSet<String> bSet = new HashSet<String>(); bSet.add("eeee"); bSet.add("ffff"); bSet.add("gggg"); bSet.add("dddd"); //check if bSet is a subset of aSet boolean b = aSet.containsAll(bSet); //union - transform aSet //into the union of aSet and bSet aSet.addAll(bSet); //intersection - transforms aSet //into the intersection of aSet and bSet aSet.retainAll(bSet); //difference - transforms aSet //into the (asymmetric) set difference // of aSet and bSet. aSet.removeAll(bSet); </syntaxhighlight> |
<syntaxhighlight lang="python" line="2" >
aSet = set() aSet = set("one")
aSet = set(['one', 'two', 'three'])
for v in aSet: print(v) bSet = set(['three','four', 'five'])
cSet = aSet | bSet
dSet = aSet & bSet
eSet = aSet.difference(bSet)
bSet.add("six")
</syntaxhighlight> |