当前位置:首页 » 编程语言 » list排序java

list排序java

发布时间: 2022-04-01 03:49:35

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);
}
}

热点内容
择吉日推算法 发布:2025-01-17 15:29:41 浏览:87
努比亚怎么查看wifi密码 发布:2025-01-17 15:29:36 浏览:202
简单游使用脚本 发布:2025-01-17 15:23:57 浏览:580
linuxcompare 发布:2025-01-17 15:13:24 浏览:433
不能显示隐藏的文件夹 发布:2025-01-17 15:13:24 浏览:530
学生作业管理系统源码 发布:2025-01-17 14:42:31 浏览:172
hue编译器 发布:2025-01-17 14:42:26 浏览:908
马自达编程 发布:2025-01-17 14:21:41 浏览:495
android语音demo 发布:2025-01-17 14:19:25 浏览:703
点歌机怎么选切换安卓系统 发布:2025-01-17 14:05:33 浏览:722