導航:首頁 > 編程語言 > java中的sort

java中的sort

發布時間:2023-03-28 03:02:03

java 實現ArrayList的sort

java中可以使用Sort方法,可以對集合中的元素進行排序。Sort有三種重巧喚納載方法,聲孝沒明代碼如下所示。

public void Sort();
//使用集合元素的比較方式進行排序

public void Sort(IComparer comparer);
//使用自定義比較器進行排序

public void Sort(int index, int count, IComparer comparer)
//使用自定義比較器進行指定范圍的排序

注意:為使用Sort方法進行排序,集合中的所有元素必須實現IComparable介面,否則,將拋出異常。

這里介紹使用第一種方法進行簡單的排序實例

using System;
using System.Collections;
class Program{
static void Main(string[] args)
{
ArrayList al = new ArrayList();
al.AddRange(new string[8] { "Array1", "Array2", "Array3", "Array5", "Array4", "鏈猜Array8", "Array7", "Array6" });
al.Sort();
foreach (string s in al)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}

② java的sort方法為什麼默認使用歸並排序

因為你看的是java 6。
在Java 6中Arrays.sort()和鎮兄Collections.sort()使用的橋旅卜是MergeSort,敏穗而在Java 7中,內部實現換成了 TimSort

PS: TimSort不僅內置在各種JDK 7的版本,也存在於Android SDK中(盡管其並沒有使用JDK 7)。

③ JAVA中如何使用SORT從大到小排.

根據你這要求,只有一個陪乎明頃搭辦法,但是有點約束:

import java.util.Arrays;
import java.util.Collections;
public class Test {

public static void main(String[] args) {
//注意,只能用對象類型,不可以使用簡單類型 如int[] num則報錯
Integer[] num = {5,8,3,9,1};
//如果是num是List或 Set,蘆告則用Collections.sort(num,Collections.reverseOrder());
Arrays.sort(num,Collections.reverseOrder());
for(int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}

④ java 數列sort方法

Arrays.sort(odd);是對odd直接進行排序,不需要返回值,排序結果還是在原來的數組里
應該是你的輸出邏輯不對
index=0下面的語句都不執行
for(int n=0;n<index;n++)
{System.out.print(odd[n]+" ");}

⑤ Java 關於排列 (sort)

程序整體錯誤較多,但你的思路很清晰。在以後要多注意數組邊界的處理和排序的邏輯性思維的鍛煉

出現的錯誤已更正,需要注意的地方代碼中已經指出。希望對你有幫助
————————譽斗汪——————程序代碼——————————————

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class population {

static Scanner console=new Scanner(System.in);

public static void main(String[]args)
{ int[] x={1,25,7,6,8}; //x.length=5;
int i,j,f;
int []v=new int[8];

for (j=0;j<5;j++)/*由慶仔於x有5個元素,j=1開始循環的話那麼j<6,但你
後邊要給數組賦值所以只有改j的初始值了,
後邊就將j+1就不會出現「x0」
*/
{System.out.println("Enter the number for x"+ (j +1));

for (i=0;i<8;i++)
v[i]=console.nextInt();

x[j]=(v[0]+v[1])-(v[2]+v[3])+(v[4]+v[5])+(v[6]+v[7]);

}
System.out.println("排序前:");
for (j=0;j<5;j++){
System.out.println("x"+j+"=" + x[j]);
}

for (f =0; f<x.length;f++)
{
for (j=0;j<(x.length-1);j++)/*循環每一個元素所以要從j=0開始,
在這個數組里 第4此循環比較x[3]和 x[4], 第5次循環
只取的最後一個元素 這銷稿也是冒泡排序
要注意的地方,最後一次不要比較。*/
{
if (x[j]<x[j+1])
{ //將x[j],[j+1]交換位置,
int tmp=0;
tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
}
}
}
System.out.println("排序後:");
for (j=0;j<5;j++){
System.out.println("x"+j+"=" + x[j]);
}

}

}
________________________________程序執行結果————————————
Enter the number for x1
1 2 3 4 5 6 7 8
Enter the number for x2
2 5 8 3 6 9 7 8
Enter the number for x3
1 4 7 2 5 8 3 6
Enter the number for x4
4 5 6 7 8 92 5
4
Enter the number for x5
4 5 6 8 5 2 3 6
排序前:
x0=22
x1=26
x2=18
x3=105
x4=11
排序後:
x0=105
x1=26
x2=22
x3=18
x4=11

⑥ java 中對class的sort

1、問題出在將一個數組對象強制轉化為state對象寬穗弊,即: state y = (state) o
經過這一強轉化使引用變數y指向堆中的一個數組對象,在 if(this.a == y.a)
中的y.a是不成立的,因為y指向的數組對象中沒有a這族旦個成員變數所以慎族要拋出空指針異常
2、溫馨提示:引用類型的變數的強制轉化只存在於繼承關系(父類與子類)中或實現關系(實現類與介面)中,其它情況的強制轉化將導致類型不兼容的運行時異常。

⑦ 有朋友能詳細介紹一下java中sort的用法嗎

1.java.util.Collections.sort(List list)與Comparable,Comparator 介面
2.java.util.Arrays.sort(T[])與Comparable,Comparator 介面
3.JFace中 TableView ,TreeView, ListView的排序,實現ViewerSorter
兩者的實現類似,不同的是針對的對象不一樣。Collections.sort()針對的是List,Arrays.sort()針對的是數組。如果List中或者數組中存的都是基本數據類型(byte、short、int、long、float、double、char、boolean) 和 String,那麼我們直接使用即可。如果其中存的數據是對象,那麼有兩種方法,一是每個對象實現Comparable介面,二是使用Collections.sort(List list,Comparator c)或者Arrays.sort(T[],Comparator c),臨時實現一個Comparator 來實現排序。

最後是一個以TableView 為例。
TableViewer tableViewer = new TableViewer(detailGroup, SWT.BORDER | SWT.V_SCROLL
| SWT.H_SCROLL | SWT.FULL_SELECTION);
tableViewer.setSorter(new FolderSorter());
public class FolderSorter extends ViewerSorter {
。。。。。。
}

⑧ 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中的的sort和comparable的區別與聯系

類T實現comparable
這個接激伏口表示擁有
int
compareTo(T
t2)
這個方法。這就表示T的對象是可以兩兩比較大小的。
sort(Collection
c)
這個排序方法,正是利用T中的compareTo方法對T的對象集合中的對象兩兩進行比較來排序的。這就是sort與comparable的聯系。
至於區別,一個功能羨仿是排序,一個功能是兩兩比較,功能是不相同的。但是兄鉛纖能夠兩兩比較是能排序的前提,試想一下如果兩個對象不能比大小,怎麼排序呢?

閱讀全文

與java中的sort相關的資料

熱點內容
邵氏武俠電影100部 瀏覽:132
男主是牛郎鴨子的小說 瀏覽:756
李時珍的電影全部 瀏覽:227
安卓10編譯伺服器硬體配置 瀏覽:957
什麼樣的主機適合當伺服器 瀏覽:856
衣服哪裡進貨app 瀏覽:516
解壓神器魔術 瀏覽:770
寬頻連接2如何連接伺服器地址 瀏覽:365
隨機信號估計演算法 瀏覽:860
安卓如何重壓開槍 瀏覽:377
航天時代飛鵬圖像處理演算法 瀏覽:521
php比較兩個文件 瀏覽:737
加密貨幣市場活躍 瀏覽:334
最便宜的雲盤伺服器架設傳奇 瀏覽:790
java反向工程 瀏覽:110
pdf文檔轉換excel 瀏覽:8
主角叫楚天的都市小說 瀏覽:754
程序員三重境界 瀏覽:871
菜雞方舟上怎麼開伺服器 瀏覽:727
馬林固件編譯錯誤 瀏覽:910