从新手到java。我有猫,狗,苹果,斑马,鹦鹉的元素。我想对这些元素进行升序排序,但"cat“应该保持在第一位。如何在java中使用比较程序/可比较程序来实现?
发布于 2020-08-02 16:47:47
最简单的方法是将它们放在一个列表中,并对subList
进行排序。
List<String> list = Arrays.asList(
"cat","dog","apple",
"zebra","parrot");
Collections.sort(list.subList(1,list.size()));
System.out.println(list);
打印
[cat, apple, dog, parrot, zebra]
它之所以有效,是因为subList
提供了列表的视图,因此排序操作在该视图上进行。
如果您更喜欢使用数组,可以使用Arrays.asList
将其转换为subList
排序的List
。这也使用数组来支持列表,因此对列表的更改会反映在数组中。这只适用于对象数组(e.g. String[], Integer[])
,而不适用于原始数组(e.g. int[], double[])
。
String[] arr = {"cat", "dog", "apple","zebra","parrot"};
Collections.sort(Arrays.asList(arr).subList(1,arr.length));
System.out.println(Arrays.toString(arr));
输出结果与上面相同。
https://stackoverflow.com/questions/63218067
复制相似问题