java数组从小到大排序怎么排?Java数组排序有几种方法?

TheDisguiser 2020-03-23 20:06:39 java常见问答 9597

今天给小伙伴们带来Java字符串数组进行大小排序的简单实现,数组一直是Java的一个重要知识点,给数组排序更是一定要掌握的基础知识,今天就跟大家聊一聊Java数组怎么从小到大排序及实现的几种方法。

首先是经典的冒泡排序,什么是冒泡排序?冒泡排序就是说在一个数组中,比如{6,2,7,1},先用2与6比较,如果是升序的话,2和6就要交换位置,这个时候6就从这两个数中冒出来了,变成2,6,6再去跟下一个数7比,结果7大于6,7就冒出来了,于是就是2,6,7,再用7比较最后的1,由于1小于7,本轮就结束了,下一轮从6开始,以此相比较,以此类推,由于每一次比较都必须要从头开始,所以,就会比较一次少一个,最终完成从小到大的升序。

import java.util.Arrays;//Arrays类的必须导入
public class BubbleSort {//见名知意,创建一个BubbleSort的类
public static void main(String[] args) {//程序开始在主方法入口中运行
int[] arr=new int[10];//声明并同时创建一个10个整数组成的数组
int i;
for(i=0;i
arr[i]=(int)(Math.random()*100);
System.out.println(arr[i]);
}
for(i=0;i
for(int j=0;j
if(arr[j]>arr[j+1]){//j代表的是数组里具体的前后两个数相比较
int num=arr[j];
arr[j]=arr[j+1];
arr[j+1]=num;//引入“第三者”num这个数,首尾相连,完成对前后两个数的“移形换位”
System.out.println("排序后:");
for(i=0;i
System.out.println(arr[i]);//最终输出排序后的数组,以上这个循环效果等于:System.out.println(Arrays.toString(arr));

冒泡排序并不是效率最高的排序方式,但是它的排序手法比较特殊和经典,所以很多企业面试中常常会问到,至少要能够理解它。

然后是Arrays.sort(),Arrays.sort()中文也叫数组名,是指sort(byte[] a)和sort(long[] a)两种排序方法,使用两种方法时可以对数字在指定的范围内排序。这个方法在 java.util这个包里面,所以在用到的时候需要先将它导入。Arrays.sort()默认从小到大排序,如需调整顺序,需要通过实现Comparator接口并调用。

举例:

数字排序

int[] intArray = new int[] {4, 1, 3, -23};
Arrays.sort(intArray);
输出: [-23, 1, 3, 4]

字符串排序,先大写后小写

String[] strArray = new String[] {"z", "a", "C"};
Arrays.sort(strArray);

输出: [C, a, z]

严格按字母表顺序排序,也就是忽略大小写排序 Case-insensitive sort

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
输出: [a, C, z]

反向排序, Reverse-order sort

Arrays.sort(strArray, Collections.reverseOrder());
输出:[z, a, C]

忽略大小写反向排序 Case-insensitive reverse-order sort

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(Arrays.asList(strArray));
输出: [z, C, a]

以上就是关于Java数组的一些排序方法,更多相关内容请一直关注本网站噢。