mengapa urutan salah saat mengubah Setel ke daftar di java [duplikat]

Nov 30 2020

saya membuat satu set String dalam sebuah metode, tetapi ketika saya memasukkan daftar semua Strings akan kacau ... (saya butuh pesanan) di sini adalah urutan yang dibaca dari file: Rayan Lilia Moein Raman Hasti Rojina Behrad

inilah yang dikembalikannya: Behrad Rojina Rayan Lilia Moein Raman Hasti

    public class IO {

   public static File file = new File("googolia.txt");
   static public Set<String> participant = new HashSet<>();

    public void read() {
        try {
            FileReader reader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(reader);
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                String split[] = line.split("->");
                participant.add(split[1]);//correct order
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}






public static void showDutys() {
    //what duty each person have
    IO io = new IO();
    io.read();
    ArrayList<String> participant = new ArrayList<>(IO.participant);
    for (int i = 0; i < participant.size(); i++) {
        System.out.println(participant.get(i));//incorrect order
    }
    IO.participant.removeAll(IO.participant);
    participant.removeAll(participant);

    System.out.println("=======================");
}

Jawaban

Miguel Nov 30 2020 at 17:58

HashSettidak diterapkan SortedSet, jadi tidak perlu mengurutkan elemennya.

Anda bisa menggunakan TreeSetsebagai gantinya.