Programm wirklich unterschiedlich von System zu System?
-
Eine Frage an andere Experten:
Lautet die Ausgabe hier mit Garantie? Sprich auf allen Systemen ist die Ausgabe gleich? Laut einem Experten lautet die Aussage: "nein". Stimmt das? Danke.
import java.util.*; public class HashSetGenerics { public static void main(String[] args) { String [] a = new String[]{"Hans","Hans","Fritz","Karl","Karl"}; HashSet <String>hotelgast = new HashSet<String>(); for(int i=0;i<a.length;i++) { if(!hotelgast.add(a[i])) { syso("Doppel"); } } Iterator < String > it = hotelgast.iterator(); while (it.hasNext()) { String element = it.next(); syso(element); } } }
-
This [HashSet] class implements the Set interface, backed by a hash table (actually a HashMap instance). It makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time. This class permits the null element.[...]
http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashSet.html
-
Wegen Compilerfehlern kommts eh zu keiner Ausgabe, egal auf welchem System.
-
Es ist klar dass es einen Compilerfehler gibt bei syso. Es sollte nur die Ausgabe verkürzen. -> "Byto"
Das Hashset ist der springende Punkt. Treeset würde dagegen sortiert ausgeben. Wohl richtig.
-
Die Ausgabe wird auf allen Systemen gleich sein,
da die Sprache Java eindeutig definiert ist!