list排序java
1. java如何讓list按照list裡面的某個欄位排序,list裡面的有很多欄位!
給你個例子看下
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
publicclass${
publicstaticvoidmain(String[]args){
List<Map<String,Integer>>data=newArrayList<Map<String,Integer>>();
init(data);
System.out.println("排序前:");
System.out.println(data);
sort(data);
System.out.println("排序後:");
System.out.println(data);
}
privatestaticvoidsort(List<Map<String,Integer>>data){
Collections.sort(data,newComparator<Map>(){
publicintcompare(Mapo1,Mapo2){
Integera=(Integer)o1.get("PRECOUNTOUT");
Integerb=(Integer)o2.get("PRECOUNTOUT");
//升序
returna.compareTo(b);
//降序
//returnb.compareTo(a);
}
});
}
privatestaticvoidinit(List<Map<String,Integer>>data){
Map<String,Integer>map=newHashMap<String,Integer>();
map.put("COUNTTICKET",1);
map.put("PRECOUNTOUT",2);
data.add(map);
map=newHashMap<String,Integer>();
map.put("COUNTTICKET",6);
map.put("PRECOUNTOUT",7);
data.add(map);
map=newHashMap<String,Integer>();
map.put("COUNTTICKET",8);
map.put("PRECOUNTOUT",5);
data.add(map);
map=newHashMap<String,Integer>();
map.put("COUNTTICKET",2);
map.put("PRECOUNTOUT",3);
data.add(map);
}
}
2. java 中 List 怎麼排序呢
Map<String, String> map =new HashMap<String, String>();
java.util.List<String> list=new ArrayList<String>();
map.put("a", "a");
map.put("c", "c");
map.put("b", "b");
list.addAll(map.keySet());
Collections.sort(list);
for (String key : list)
{
System.out.println(map.get(key));
}
直接Copy 到main方法中運行, 是個降序! 升序的話 Collections 這裡面也有的。
樓主 太摳門, 5分都不給!
3. java 怎麼將List裡面數據排序
學生實體類,包含姓名和年齡屬性,
比較時先按姓名升序排序,如果姓名相同則按年齡升序排序。
4. JAVA中list集合的排序
根據字元串的含義,進行對象化,比如,Student,有三個屬性,序號,姓名,分數
注意重寫Student的Compareable介面
然後,List<String>變成List<Student> students=new ArrayList<Student>
然後,遍歷list,算出平均分,放入新的SortList<Student>
列印結果
5. java如何對Arraylist數組進行排序(用comparable)
看代碼:
importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.Collections;
publicclassDemo{
publicstaticvoidmain(String[]args)throwsException{
Pair[]pairs={
newPair(0,1),
newPair(2,9),
newPair(7,0),
newPair(8,8),
newPair(8,6),
newPair(9,2),
newPair(1,5),
newPair(8,2),
newPair(9,15),
newPair(9,5)
};
ArrayList<Pair>pairList=newArrayList<>(Arrays.asList(pairs));
System.out.println("排序前:");
System.out.println(Arrays.toString(pairs));
Arrays.sort(pairs);//對數組排序
System.out.println("排序後:");
System.out.println(Arrays.toString(pairs));
System.out.println("排序前:");
System.out.println(pairList);
Collections.sort(pairList);//對ArrayList排序
System.out.println("排序後:");
System.out.println(pairList);
}
}
//繼承Comparable介面排序該類是「可排序的」
//<>裡面的是排序時與當前實例進行比較的實例的類型
//一般都和當前實例是同一個類型,比如這里就是Pair的實例和Pair的實例比較
classPairimplementsComparable<Pair>{
publicintleft;
publicintright;
publicPair(intleft,intright){
this.left=left;
this.right=right;
}
@Override
publicStringtoString(){
return"["+left+","+right+"]";
}
//排序規則,先按left排序,再按right排序
@Override
publicintcompareTo(Pairthat){
if(this.left>that.left){
return1;
}elseif(this.left<that.left){
return-1;
}elseif(this.right>that.right){
return1;
}elseif(this.right<that.right){
return-1;
}
return0;
}
}
可以發現先按 left 排序,如果 left 相等,則按 right 排序
6. Java的List怎麼排序啊
問題在於
doubletemp=0.0;
你把temp設置成double型,然後
temp=arr.get(l).doubleValue();
所以你把取得的int類型轉換成了double類型,最後輸出就帶上了.0
你仔細看看你的程序,int類型有的排序後沒有變,有的變x.0了,凡是加上.0的都是它在排序過程中與double類型的數字進行過交換。
7. java怎麼把list進行排序
privateList<Pay>breakfastList=newArrayList<Pay>();
Collections.sort(breakfastList,newComparator<Pay>(){
publicintcompare(Payarg0,Payarg1){
returnarg0.getPayDate().compareTo(arg1.getPayDate());
}
});
8. java list 排序
importjava.util.ArrayList;
importjava.util.List;
publicclassApp{
publicstaticvoidmain(String[]args){
List<Integer>list=newArrayList<>();
list.add(85);
list.add(35);
list.add(20);
list.add(60);
list.add(54);
list.sort((x,y)->Integer.compare(x,y));
list.forEach(System.out::println);
}
}
9. java中兩個list集合如何排序
將兩個list合並
List<Article> list1 = new ArrayList<Article>();
List<Article> list2 = new ArrayList<Article>();
list1.addAll(list2);
Collections.sort(list,new ReverseSort());
//自定義反向排序比較器
class ReverseSort implements Comparator{
public int compare(Object obj1,Object obj2) {
Article user1 = (Article)obj1;
Article user2 = (Article)obj2;
return -user1.gxrq.compareTo(user2.gxrq);
}
}