Java列表排序問題(急)
import java.util.*;
class ArrayListTest
{
public static void main(String[] args)
{
Student std1=new Student(2,"xiaoxin");
Student std2=new Student(3,"leiyin");
Student std3=new Student(1,"wuhen");
ArrayList<Object> al=new ArrayList<Object>();
al.add(std1);
al.add(std2);
al.add(std3);
Collections.sort(al);
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
}
}
class Student implements Comparable
{
int num;
String name;
Student(int num, String name)
{
this.num=num;
this.name=name;
}
public int compareTo(Object o)
{
Student stu=(Student)o;
return ( num>stu.num ? 1:(num==stu.num ? 0:-1));
}
public String toString()
{
return num+":"+name;
}
}
說找不到Collections.sort(al);
這是為什麼呢?
相關推薦
vue實現城市列表排序(中文)
在後臺沒有傳城市字母標識時,可以使用以下方法對城市進行排序並實現右側字母列表功能,該原始碼複製可直接使用,由於為了方便,在此引入jq(需注意):<template> <div> <div class="header">{{ t
Java列表排序問題(急)
import java.util.*; class ArrayListTest{ public static void main(String[] args) { Student std1=new St
Java排序算法分析與實現:快排、冒泡排序、選擇排序、插入排序、歸並排序(二)
第一個元素 spa insert 循環 冒泡排序 author 高級算法 ins -s 一、概述: 上篇博客介紹了常見簡單算法:冒泡排序、選擇排序和插入排序。本文介紹高級排序算法:快速排序和歸並排序。在開始介紹算法之前,首先介紹高級算法所需要的基礎知識:劃分、遞歸,並順
java算法----排序----(2)選擇排序
info arr ava osi package ram a算法 str oid 1 package log; 2 3 public class Test4 { 4 5 /** 6 * java算法---選擇排序 7 *
java算法----排序----(1)插入排序
pan 排序 string ack src [] AR style inf 1 package log; 2 3 public class Test4 { 4 5 /** 6 * java算法---插入排序 7 * 8
java算法----排序----(4)快速排序
sort pre alt () ram pack image ret println 1 package log; 2 3 public class Test4 { 4 5 /** 6 * java算法---快速排序 7 *
數據結構Java版之堆&堆排序(九)
add lse spa led main AD 節點 之間 ren 堆分為大頂堆,和小頂堆。 什麽是堆? 堆可以看成是一棵二叉樹,二叉樹的元素是一個數組不斷的從左到右輪訓放置。如果是大頂堆,則大的數放上面一層,小的數放下面一層。上一層的數,一定大於下一層的數。小頂堆則相
Java並發(二):重排序
技術分享 安排 通過 mage 種類 操作 處理器 加載 str 在執行程序時為了提高性能,提高並行度,編譯器和處理器常常會對指令做重排序。重排序分三種類型: 編譯器優化的重排序。編譯器在不改變單線程程序語義的前提下,可以重新安排語句的執行順序。 指令級並行的重排序。現代
JAVA高階基礎(10)---TreeSet對自定義型別進行定製排序及增強for迴圈遍歷集合
TreeSet 自然排序 對於自定義型別,那麼要實現自然排序,需要去 Comparable 介面中的 compareTo 方法。在 compare To 方法中我們可以根據自己的業務要求,來實現自己的排序規則。 定製排序 在建立容器
Java中的經典演算法之選擇排序(SelectionSort)
Java中的經典演算法之選擇排序(SelectionSort) 神話丿小王子的部落格主頁 a) 原理:每一趟從待排序的記錄中選出最小的元素,順序放在已排好序的序列最後,直到全部記錄排序完畢。也就是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。基
Java中的經典算法之選擇排序(SelectionSort)
變量 www. cnblogs tar mage clas html 技術 循環語句 Java中的經典算法之選擇排序(SelectionSort) 神話丿小王子的博客主頁 a) 原理:每一趟從待排序的記錄中選出最小的元素,順序放在已排好序的序列最後,直到全部記錄排序完畢。也
Java實現插入排序(三)
原理:每一步將一個待排序的記錄,插入到前面已經排好序的有序序列中去,直到插完所有元素為止。 思想:想必你肯定打過撲克牌吧,在一張一張揭牌的時候,是不是每次揭一張牌將其插入到其他已經有序的牌中的適當位置,如果你沒有這個經歷,趕緊約一波小夥伴,鬥一把。與選擇排序一樣,把要排序的
深入理解Java記憶體模型(二)——重排序
資料依賴性 如果兩個操作訪問同一個變數,且這兩個操作中有一個為寫操作,此時這兩個操作之間就存在資料依賴性。資料依賴分下列三種類型: 名稱 程式碼示例 說明 寫後讀 a = 1;b = a; 寫一個變數之後,再讀這個位置。 寫後寫 a = 1;a = 2; 寫一個變數之後,再寫這
Java排序演算法(三)--歸併排序(MergeSort)遞迴與非遞迴的實現
歸併有遞迴和非遞迴兩種。 歸併的思想是: 1.將原陣列首先進行兩個元素為一組的排序,然後合併為四個一組,八個一組,直至合併整個陣列; 2.合併兩個子陣列的時候,需要藉助一個臨時陣列,用來存放當前的
Java BigInteger+排序(感覺很神奇)
本人在搞ACM 今天遇到了一個題,資料有點大,要開 unsigned long long,但是我沒想到,就想去用Java的BigInteger,但是輸出要求按順序,當時還在想BigInteger怎麼排序啊,是不是要自己存到數組裡,自己寫個排序啊,那多麻煩,寫不好就超時。
Java排序演算法(五)--希爾排序(ShellSort)
希爾排序(插入排序-漸減增量排序diminishing increment sort): 思想:1.將原始陣列按照增量分解為多個數組,分別按插入排序調好子序列的順序;
java排序演算法—選擇排序(二)
選擇排序 選擇排序的思想方法:快速排序的思想非常直接,正如名字一樣,將要排序的資料元素選出最小的,將它和資料元素的首位交換位置。再次從剩下的資料元素中 找到最小的元素,放到第二個位置上……以此類推,直到將整個資料元素排序。 程式碼實現 public class selectSor
一種簡單的用java實現快速排序(Quicksort)
1,快速排序(Quicksort)是對氣泡排序的一種改進。對資料量越大,資料分佈越混亂的,一般認為是效能最好的。快排是分治思想的一種體現,把大的問題細化成小問題,把小問題細化成更小的問題,最終把問題縮小到一定規模內,可解決。 2,快排演算法思路就是,先取一個數作為關鍵資料(key一般
必須知道的八大種排序演算法【java實現】(三) 歸併排序演算法、堆排序演算法詳解
一、歸併排序演算法 基本思想: 歸併(Merge)排序法是將兩個(或兩個以上)有序表合併成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然後再把有序子序列合併為整體有序序列。 歸併排序示例: 合併方法: 設r[i…n]由兩個有序子表r[i…m]和r[m+1…n]組
必須知道的八大種排序演算法【java實現】(二) 選擇排序,插入排序,希爾演算法【詳解】
一、選擇排序 1、基本思想:在要排序的一組數中,選出最小的一個數與第一個位置的數交換;然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後一個數比較為止。 2、例項 3、演算法實現 /** * 選擇排序演算法 * 在未