por que o pedido está incorreto ao alterar Definir para listar em java [duplicado]

Nov 30 2020

Eu faço um conjunto de Strings em um método, mas quando eu coloco em uma lista todas as Strings irão desordenar ... (eu preciso da ordem) aqui está a ordem que foi lida no arquivo: Rayan Lilia Moein Raman Hasti Rojina Behrad

aqui está o que ele retorna: 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("=======================");
}

Respostas

Miguel Nov 30 2020 at 17:58

HashSetnão implementa SortedSet, portanto, não precisa classificar seus elementos.

Você pode usar em seu TreeSetlugar.