arraylist 排序 java_Java对ArrayList进行排序
數(shù)字使用直接比較大小來(lái)排序,String的話,使用compare()方法進(jìn)行排序。
測(cè)試代碼:
1.對(duì)字符串對(duì)象排序
@Test
public void test17() throws Exception {
List< String > stringList = new ArrayList<>();
stringList.add("haha");
stringList.add("123");
stringList.add("wq");
stringList.add("d");
stringList.add("rt");
stringList.add("uuk");
System.out.println("排序前:" + stringList);
Collections.sort(stringList, new Comparator< String >() {
@Override
public int compare(String lhs, String rhs) {
System.out.println("排序字符串:" + lhs + "," + rhs);
int i = lhs.compareTo(rhs);
System.out.println("排序結(jié)果" + i);
if ( i > 0 ) {
return 1;
} else {
return -1;
}
}
});
System.out.println("排序后:" + stringList);
}
打印的日志:
排序前:[haha, 123, wq, d, rt, uuk]
排序字符串:123,haha
排序結(jié)果-55
排序字符串:wq,123
排序結(jié)果70
排序字符串:wq,haha
排序結(jié)果15
排序字符串:d,haha
排序結(jié)果-4
排序字符串:d,123
排序結(jié)果51
排序字符串:rt,haha
排序結(jié)果10
排序字符串:rt,wq
排序結(jié)果-5
排序字符串:uuk,haha
排序結(jié)果13
排序字符串:uuk,wq
排序結(jié)果-2
排序字符串:uuk,rt
排序結(jié)果3
排序后:[123, d, haha, rt, uuk, wq]
2.對(duì)數(shù)字進(jìn)行排序
@Test
public void test18() throws Exception {
List< Integer > stringList = new ArrayList<>();
stringList.add(123);
stringList.add(32);
stringList.add(0);
stringList.add(-4);
stringList.add(5);
stringList.add(123131);
System.out.println("排序前:" + stringList);
Collections.sort(stringList, new Comparator< Integer >() {
@Override
public int compare(Integer lhs, Integer rhs) {
if ( lhs > rhs ) {
return 1;
} else {
return -1;
}
}
});
System.out.println("排序后:" + stringList);
}
打印日志:
排序前:[123, 32, 0, -4, 5, 123131]
排序后:[-4, 0, 5, 32, 123, 123131]
在實(shí)現(xiàn)Comparator接口的compare()方法的時(shí)候,return 1代表大于,return -1代表小于。然后根據(jù)返回值來(lái)進(jìn)行排序。
Java之ArrayList自定義排序,通過(guò)實(shí)現(xiàn)comparator比較器接口
兩種排序方式: 1.實(shí)體類(lèi)實(shí)現(xiàn)Comparable接口,重寫(xiě)compareTo(T o)方法,在其中定義排序規(guī)則,那么就可以直接調(diào)用Collections.sort()來(lái)排序?qū)ο髷?shù)組 2.在調(diào)用方法的 ...
JAVA對(duì)ArrayList排序
ava如何對(duì)ArrayList中對(duì)象按照該對(duì)象某屬性排序 增加排序功能,打印時(shí):輸出學(xué)生對(duì)象的時(shí)候,需要先按照年齡排序,如果年齡相同,則按照姓名排序,如果姓名也相同,則按照學(xué)號(hào)排序. Code?hig ...
java@ 利用ArrayList實(shí)現(xiàn)dijkstra算法以及topological 排序算法(java.util.ArrayList)
package dataStructure; import java.util.ArrayList; import java.util.LinkedList; import java.util.Que ...
java中Collections.sort排序詳解
Comparator是個(gè)接口,可重寫(xiě)compare()及equals()這兩個(gè)方法,用于比價(jià)功能:如果是null的話,就是使用元素的默認(rèn)順序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
java SE 常用的排序算法
java程序員會(huì)用到的經(jīng)典排序算法實(shí)現(xiàn) 常用的排序算法(以下代碼包含的)有以下五類(lèi): A.插入排序(直接插入排序.希爾排序) B.交換排序(冒泡排序.快速排序) C.選擇排序(直接選擇排序.堆排序) ...
Java list的用法排序及遍歷
總結(jié)
以上是生活随笔為你收集整理的arraylist 排序 java_Java对ArrayList进行排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 聊聊Spring中的数据绑定 --- D
- 下一篇: 科恩实验室招聘 linux,腾讯科恩实验