1.使用Arrays中的升序API(sort)进行升序
代码示例如下:
public class px {
public static void main(String[] args) {
int[] a={11,55,99,66,22,88,33};
System.out.println(Arrays.toString(a));//打印原有数组
Arrays.sort(a);
System.out.println(Arrays.toString(a));//打印排序后的数组
}
}
2.使用comparator接口设置升序和降序
comparator接口只能使用引用元素进行排序,在该接口比较器中,当进行升序排序时,如果认为左边数据大于右边数据则返回正整数,右边大于左边返回负整数,相等返回0,这样就能进行一个完整的升序排序操作。降序排序则反之,左>右为返回负整数,以此类推。
代码示例如下,以升序为例:
package paixu;
import java.util.Arrays;
import java.util.Comparator;
public class px {
public static void main(String[] args) {
int[] a={11,55,99,66,22,88,33};
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
Integer[] b={666,1,777,33,999,55,33};//引用类型的数组
Arrays.sort(b,new Comparator<Integer>() { //comparator接口
@Override
public int compare(Integer t, Integer t1) {
if (t > t1) { //升序排序操作
return 1;
} else if (t < t1) {
return -1;
}
return 0;
}
});
System.out.println(Arrays.toString(b));
}
}
运行结果如下:
而我们的comparator还有一种简便方法来进行排序操作,即无需在该接口中进行if语句的判断,而是将两个值直接相减,以此来判断正负值。
代码示例如下,以降序为例:
package paixu;
import java.util.Arrays;
import java.util.Comparator;
public class px {
public static void main(String[] args) {
// int[] a={11,55,99,66,22,88,33};
// System.out.println(Arrays.toString(a));
// Arrays.sort(a);
// System.out.println(Arrays.toString(a));
Integer[] b={666,1,777,33,999,55,33};
Arrays.sort(b,new Comparator<Integer>() {
@Override
public int compare(Integer t, Integer t1) {
return t1-t;
}
});
System.out.println(Arrays.toString(b));
}
}
运行结果如下:文章来源:https://www.toymoban.com/news/detail-541096.html
文章来源地址https://www.toymoban.com/news/detail-541096.html
到了这里,关于Java中的升序和降序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!