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!


Anmelden zum Antworten