私は2つのリストを持ち、各リストから要素を含むストリングを作成しようとしています。その間に、" "
を実行するとソートされた順序が維持されます。しかし、私がしたいと思う中間に"|"
を置くと、セット内の要素の順序が入れ替えられます。なぜ「|」を追加するのですか? Javaで設定する要素の順序をフリップ?
"|"
を追加するにはどうすればいいですか?セットstudents
でソートされた順序を維持しますか?ここで
コードです:... + " " + ...
で
Set<String> students = new HashSet<>();
Set<String> fn = new HashSet<>();
Set<String> nums = new HashSet<>();
List<String> firstNames = new ArrayList<>(fn);
Collections.sort(firstNames);
List<String> favNumbers = new ArrayList<>(nums);
Collections.sort(favNumbers);
for(int i=0; i<firstNames.size(); i++) {
students.add(firstNames.get(i) + "|" + favNumbers.get(i));
}
System.out.println(students);
、順序が[Joshua 4, Lyon 7]
ですが、"|"
は" "
の代わりに追加された場合、順番は私が欲しいとき[Lyon|7, Joshua|4]
なり、[Joshua|4, Lyon|7]
でなければなりません。
私は完全だと思います正しいアプローチは、別の姓と姓のフィールドを使用して並べ替えるカスタムコンパレータと一緒に学生POJOを持つことです。 –
@TimBiegeleisenどのようにして自分のアプローチにリビジョンを作って、自分が望むように動作させることができますか? –
しかし、何らかの理由で学生が名前のパイプを持っていたらどうなりますか? –