欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java 對(duì)象數(shù)組排序

 更新時(shí)間:2015年04月29日 09:18:15   投稿:hebedich  
當(dāng)遇到數(shù)組排序時(shí),我們經(jīng)常會(huì)使用學(xué)過的幾種排序方法,而java 本身提供了Arrays.sort,在數(shù)據(jù)元素較少或者對(duì)效率要求不是抬高時(shí),直接使用Arrays.sort來的更容易。查看一下源碼后Arrays.sort 本身采用的是快速排序。

廢話不多說直接奉上代碼先:

import java.util.*;
import java.io.*;

public class Main{
static int [] dp = new int [1010];
public static void main(String [] args)throws IOException{
Mouse [] mice = new Mouse [1010];
FileReader fr=new FileReader("in.txt");  //讀取文件
BufferedReader read = new BufferedReader(fr);
String str = "";
int n=1;
while((str = read.readLine())!=null){
String [] s= str.split(" ");
mice[n] = new Mouse();  //對(duì)象實(shí)例化,很重要
mice[n].weight = Integer.parseInt(s[0]);
mice[n].speed =Integer.parseInt(s[1]);
n++;
}
System.out.println(n);
Arrays.sort(mice,1,n);  //sort(int start,int end) 包括start索引,不包括end索引
for(int i=1;i<n;i++){
System.out.println(mice[i].weight+" "+mice[i].speed);
}
}
}
class Mouse implements Comparable{  //實(shí)現(xiàn)Comparable接口
int weight;
int speed;
public int compareTo(Object o){   //重寫compareTo方法
Mouse m=(Mouse)o;
return weight>m.weight?1:(weight==m.weight?0:-1);
}
}

另附上Arrays.sort用法:

      1. 數(shù)字排序 int[] intArray = new int[] { 4, 1, 3, -23 };

  Arrays.sort(intArray);
  輸出: [-23, 1, 3, 4]

  2. 字符串排序,先大寫后小寫 String[] strArray = new String[] { "z", "a", "C" };

  Arrays.sort(strArray);
  輸出: [C, a, z]

  3. 嚴(yán)格按字母表順序排序,也就是忽略大小寫排序 Case-insensitive sort

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

  4. 反向排序, Reverse-order sort

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

  5. 忽略大小寫反向排序 Case-insensitive reverse-order sort

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

  6、對(duì)象數(shù)組排序

  要對(duì)一個(gè)對(duì)象數(shù)組排序 ,則要自己實(shí)現(xiàn)java.util.Comparator接口
  例子:
  Common_User[] userListTemp=new Common_User[temp.size()];
  Arrays.sort(userListTemp, new PinyinComparator());
  PinyinComparator 實(shí)現(xiàn)了Comparator接口,重寫了compare方法,來告訴Arrays按照什么規(guī)則來比較兩個(gè)對(duì)象的大小。

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • Java 泛型詳解(超詳細(xì)的java泛型方法解析)

    Java 泛型詳解(超詳細(xì)的java泛型方法解析)

    這篇文章主要介紹了深入理解java泛型Generic,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下,希望對(duì)你有幫助
    2021-07-07
  • Java lastIndexOf類使用方法原理解析

    Java lastIndexOf類使用方法原理解析

    這篇文章主要介紹了Java lastIndexOf類使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 深入理解Java設(shè)計(jì)模式之簡(jiǎn)單工廠模式

    深入理解Java設(shè)計(jì)模式之簡(jiǎn)單工廠模式

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之簡(jiǎn)單工廠模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11
  • 了解java中的Clojure如何抽象并發(fā)性和共享狀態(tài)

    了解java中的Clojure如何抽象并發(fā)性和共享狀態(tài)

    Clojure是一種運(yùn)行在Java平臺(tái)上的 Lisp 方言,Lisp是一種以表達(dá)性和功能強(qiáng)大著稱的編程語(yǔ)言,但人們通常認(rèn)為它不太適合應(yīng)用于一般情況,而Clojure的出現(xiàn)徹底改變了這一現(xiàn)狀。,需要的朋友可以參考下
    2019-06-06
  • 詳解JavaSE實(shí)現(xiàn)IoC

    詳解JavaSE實(shí)現(xiàn)IoC

    簡(jiǎn)單地說,IoC 是反轉(zhuǎn)控制,類似于好萊塢原則,主要有依賴查找和依賴注入實(shí)現(xiàn)。依賴查找是主動(dòng)或手動(dòng)的依賴查找方式,通常需要依賴容器或標(biāo)準(zhǔn)API實(shí)現(xiàn)。 而依賴注入則是手動(dòng)或自動(dòng)依賴綁定的方式,無需依賴特定的容器和API。本文將詳細(xì)介紹JavaSE實(shí)現(xiàn)IoC。
    2021-06-06
  • springboot+jersey+tomcat實(shí)現(xiàn)跨域方式上傳文件到服務(wù)器的方式

    springboot+jersey+tomcat實(shí)現(xiàn)跨域方式上傳文件到服務(wù)器的方式

    這篇文章主要介紹了springboot+jersey+tomcat實(shí)現(xiàn)跨域方式上傳文件到服務(wù)器,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Java文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)原理解析

    Java文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Java文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java判斷一個(gè)時(shí)間是否在當(dāng)前時(shí)間區(qū)間代碼示例

    Java判斷一個(gè)時(shí)間是否在當(dāng)前時(shí)間區(qū)間代碼示例

    這篇文章主要給大家介紹了關(guān)于使用Java判斷一個(gè)時(shí)間是否在當(dāng)前時(shí)間區(qū)間的相關(guān)資料,在日常開發(fā)中我們經(jīng)常會(huì)涉及到時(shí)間的大小比較或者是判斷某個(gè)時(shí)間是否在某個(gè)時(shí)間段內(nèi),需要的朋友可以參考下
    2023-07-07
  • 解讀@RabbitListener起作用的原理

    解讀@RabbitListener起作用的原理

    這篇文章主要介紹了解讀@RabbitListener起作用的原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Awaitility同步異步工具實(shí)戰(zhàn)示例詳解

    Awaitility同步異步工具實(shí)戰(zhàn)示例詳解

    這篇文章主要為大家介紹了Awaitility同步異步工具實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08

最新評(píng)論