【发布时间】:2021-05-14 01:59:14
【问题描述】:
我也看到过类似的问题,但还是不太明白该怎么做。
public static Object[] dbSort(Object[] a){
Arrays.sort(a);
return a;
}
当给定一个可以只包含数字或字符串或两者的对象数组时,我如何对它进行排序,以便数字-> 从最小到最大,字符串根据字母表排序,如果两者都先排序,然后再排序字符串。
在上面的代码中,只有当它是对象数组中的整数时它才有效,否则它会给出错误,因为它也不能对字符串进行排序(我认为)。
这里有一些例子可以更清楚地说明我想要什么。
given {6, 2, 3, 4, 5} should return {2, 3, 4, 5, 6}},
given {14, 32, 3, 5, 5} should return {3, 5, 5, 14, 32}},
given {1, 2, 3, 4, 5} should return {1, 2, 3, 4, 5}
given {"Banana", "Orange", "Apple", "Mango", 0, 2, 2} should return {0, 2, 2, "Apple", "Banana", "Mango", "Orange"}}
given {"C", "W", "W", "W", 1, 2, 0} should return {0,1,2,"C","W","W","W"}
【问题讨论】:
-
为 Object 类型实现自己的比较器并使用它。
标签: java arrays sorting object