❶ java數組sort()方法降序怎麼排
java數組sort()方法降序方式:
用Arrays類sort()對數組元素進行降序排列
import java.util.Arrays;
class SortDemo
{
public static void main(String[] args)
{
int[] vec={0,15,-14,45,20,70};
Arrays.sort(vec);
System.out.println("/n");
System.out.println("降序排列:");
for (int i=vec.length-1;i>=0 ;i-- )
{
System.out.print(vec[i]+" ");
}
}
}
❷ Java中對數組升序排列用Arrays.sort( )方法,那降序排列用什麼方法
Arrays.sort( )方法緩槐一個參數默認是升序排列,你要降序排列第一種方法調用重載的2個參數的Arrays.sort( T[]a,Comaparator c)才行薯哪租,第二個參數需要自定義一個比較器數兆類實現Comaparator介面,根據需要重新compare方法。
第二種方法先進行升序排列,再調用Arrays的asList方法轉換成數組,然後調用Collections的reverse方法倒序排列,最後調用Collection的toArray方法轉換成數組。
❸ Java數組排序 幾種排序方法詳細一點
JAVA中在運用數組進行排序功能時,一般有四種方法:快速排序法、冒泡法、選擇排序法、插入排序法。
快速排序法主要是運用了Arrays中的一個方法Arrays.sort()實現。
冒泡法是運用遍歷數組進行比較,通過不斷的比較將最小值或者最大值一個一個的遍歷出來。
選擇排序法是將數組的第一個數據作為最大或者最小的值,然後通過比較循環,輸出有序的數組。
插入排序是選擇一個數組中的數據,通過不斷的插入比較最後進行排序。下面我就將他們的實現方法一一詳解供大家參考。
<1>利用Arrays帶有的排序方法快速排序
publicclassTest2{
publicstaticvoidmain(String[]args){
int[]a={5,4,2,4,9,1};
Arrays.sort(a);//進行排序
for(inti:a){
System.out.print(i);
}
}
}
<2>冒泡排序演算法
publicstaticint[]bubbleSort(int[]args){//冒泡排序演算法
for(inti=0;i<args.length-1;i++){
for(intj=i+1;j<args.length;j++){
if(args[i]>args[j]){
inttemp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
returnargs;
}
<3>選擇排序演算法
publicstaticint[]selectSort(int[]args){//選擇排序演算法
for(inti=0;i<args.length-1;i++){
intmin=i;
for(intj=i+1;j<args.length;j++){
if(args[min]>args[j]){
min=j;
}
}
if(min!=i){
inttemp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
returnargs;
}
<4>插入排序演算法
publicstaticint[]insertSort(int[]args){//插入排序演算法
for(inti=1;i<args.length;i++){
for(intj=i;j>0;j--){
if(args[j]<args[j-1]){
inttemp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}elsebreak;
}
}
returnargs;
}
❹ java程序中數組升降序排列語法
完整代碼如下:
importjava.util.Scanner;
publicclassDemo01{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
int[]a=newint[10];
int舉察i=0;
System.out.println("輸入10個數,每個數空格隔開:");
//輸入10個整數
while(true){
a[i]=sc.nextInt();
i++;
if(i==10){
break;
}
}
//冒正好茄泡排序(降序襪虛)
for(intk=0;k<a.length-1;k++){
for(intj=k+1;j<a.length;j++){
//升序把<改成>
if(a[k]<a[j]){
inttemp=a[k];
a[k]=a[j];
a[j]=temp;
}
}
}
//輸出排序後的數組
for(Integerb:a){
System.out.println(b);
}
}
}