Ich habe gerade App zum Lesen von Ganzzahlen aus Datei in Set erstellt, und ich habe eine Frage, wenn ich in meiner Eingabedatei Nummern -5 5 2 8 9 1 4 55 habe 70, speichert es die Zahlen in Set this way- [1, 2, 4, 5, 70, 55, 8, 9], warum ist es so? Ich will, dass es Doppelzüngigkeit vermeidet - das ist OK, aber ich möchte die Zahlen zuerst speichern.Lesen und Schreiben von Ganzzahlen von/in Datei in Java
Set<Integer> zoznam = new HashSet();
int index = 0;
FileReader fr;
fr = new FileReader(fileName);
String line;
BufferedReader br = new BufferedReader(fr);
int i = 0;
while ((line = br.readLine()) != null) {
System.out.println(line);
String[] items = line.split(" ");
int[] c = new int[items.length];
for (int q = 0; q < items.length; q++) {
c[q] = Integer.parseInt(items[q]);
zoznam.add(c[q]);
}
}
return zoznam;
}
Danke Kumpel !! Es hat mir sehr geholfen – Patrikz64
Oder ein 'TreeSet', nein? –
@DebosmitRay 'TreeSet' ist ein' SortedSet' - es sortiert die eingefügten Objekte und zeigt sie entsprechend ihrer natürlichen Reihenfolge an. Für den Input des OP (5 5 2 8 9 1 4 55 70) würde der Output 1 2 4 5 8 9 55 70 sein. Ein 'LinkedHashSet' hingegen behält die Reihenfolge des Einfügens bei. – Mureinik