java list排序sort升序 集合list排序?
集合list排序?題主的要求是對List內(nèi)的類進(jìn)行排序,自然使用sort方法啦Collections這個類里面基本沒有什么東西,都是對Collection(ArrayList,LinkedList都實(shí)
集合list排序?
題主的要求是對List內(nèi)的類進(jìn)行排序,自然使用sort方法啦Collections這個類里面基本沒有什么東西,都是對Collection(ArrayList,LinkedList都實(shí)現(xiàn)了這個接口)的輔助方法補(bǔ)充,建議看一下源碼。Collections.sort(list,comparator)前一個參list就是題主所說的要求排序的list后一個呢是一個comparator類,重寫一下。這里稍微復(fù)雜一點(diǎn),可能涉及匿名類,或者你了解多一下,jdk 8中l(wèi)ambda函數(shù)也能實(shí)現(xiàn)。
list排序最快方法?
對一個list的內(nèi)容,按照字母(或者數(shù)字)進(jìn)行排序(一,如果是數(shù)字,用int大小對比;二,如果是字母String,可以取第一位轉(zhuǎn)為char,進(jìn)行大小對比,本文以此為例;三,如果是漢字,可以取漢字第一位并轉(zhuǎn)為拼音,在參考二的方式對比,四,如果是自定義類別,同理只需在調(diào)換位置時注意即可)
List集合排序?
給集合排序 ,常見的方法是給集合提供1個比較器Comparator.
import java.util.*class Stu{//學(xué)生類 String name int age public Stu(String name,int age) { this.name = name this.age=age } @Override public String toString() { return "姓名:" name " 年齡:" age }}public class Test { public static void main(String[] args) { ArrayList<Stu> list = new ArrayList<Stu>() list.add(new Stu("jack",12)) list.add(new Stu("lily",13)) list.add(new Stu("lucy",15)) list.add(new Stu("tom",11)) System.out.println(list) //給集合排序 list.sort(new Comparator<Stu>() {//Comparator 比較器. 需要實(shí)現(xiàn)比較方法 @Override public int compare(Stu o1, Stu o2) { return o1.age-o2.age//從小到大 , 如果是o2.age-o1.age 則表示從大到小 } }) System.out.println(list) }}
輸出
[姓名:jack 年齡:12, 姓名:lily 年齡:13, 姓名:lucy 年齡:15, 姓名:tom 年齡:11][姓名:tom 年齡:11, 姓名:jack 年齡:12, 姓名:lily 年齡:13, 姓名:lucy 年齡:15]
對List集合倒序排序怎么排?
這是 Python 中最為簡單高效的方法了
此外也可用以下方法
不同的是:arr.sort() 方法是在原地排序,而 sorted(arr) 則會生成一個新 list
相同的是:傳入?yún)?shù) reverse=True 可以進(jìn)行倒序排序