我有两个列表,并试图与每个列表中的元素形成一个字符串,并在之间当我做" "
,排序顺序保持。但是,一旦我将"|"
放在中间,我想要的是,Set中元素的顺序会切换。为什么添加“|”在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如何才能对我的方法进行修改并使其按照我想要的方式工作? –
不太可能,但如果出于某种原因,如果学生在他的名字中有管道,会发生什么? –