JavaPython:Hulk

Allikas: Kursused
Redaktsioon seisuga 2. veebruar 2016, kell 11:10 kasutajalt Triin (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti
Java vs Python

Pythoni hulgale analoogne andmetüüp on Javas HashSet

A HashSet is like a Python set, but uses only object syntax. There are no literals. Declaration and creation look like:

HashSet<type> variable = new HashSet<type>();

Some methods:

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).

A HashSet is one kind of collection. Operations that may change the set return true if the set was changed, false otherwise.

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")

  1. a set containing three letters
  2. set(['e', 'o', 'n'])

aSet = set(['one', 'two', 'three'])

  1. set(['three', 'two', 'one'])
  2. a set containing three words
  1. iterate over set

for v in aSet:

   print v

bSet = set(['three','four', 'five'])

  1. union

cSet = aSet | bSet

  1. set(['four', 'one', 'five', 'three', 'two'])
  1. intersection

dSet = aSet & bSet

  1. find elements in aSet not bSet

eSet = aSet.difference(bSet)

  1. add element

bSet.add("six")

  1. set(['four', 'six', 'five', 'three'])

</syntaxhighlight>