1. 程式人生 > >Java列表排序問題(急)

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、演算法實現    /** * 選擇排序演算法 * 在未