源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java线性表排序示例分享

  • 时间:2022-07-11 03:40 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java线性表排序示例分享
大家可以先看一下这个静态方法public static <T> void sort(List<T> list, Comparator<? super T> c) 1.先定义一个模型:
[u]复制代码[/u] 代码如下:
package model; /**  * User.java  *  * @author 梁WP 2014年3月3日  */ public class User {     private String userName;     private int userAge;     public User()     {     }     public User(String userName, int userAge)     {         this.userName = userName;         this.userAge = userAge;     }     public String getUserName()     {         return userName;     }     public void setUserName(String userName)     {         this.userName = userName;     }     public int getUserAge()     {         return userAge;     }     public void setUserAge(int userAge)     {         this.userAge = userAge;     } }
2.然后定义一个比较器,实现java.util.Comparator接口,在compare()方法编写比较规则:
[u]复制代码[/u] 代码如下:
package util; import java.util.Comparator; import model.User; /**  * ComparatorUser.java  *  * @author 梁WP 2014年3月3日  */ public class ComparatorUser implements Comparator<User> {     @Override     public int compare(User arg0, User arg1)     {         // 先比较名字         int flag = arg0.getUserName().compareTo(arg1.getUserName());         // 如果名字一样,就比较年龄         if (flag == 0)         {             return arg0.getUserAge() - arg1.getUserAge();         }         return flag;     } }
3.排序的时候用java.util.Collections里面的sort(List list, Comparator c)方法:
[u]复制代码[/u] 代码如下:
package test; import java.util.ArrayList; import java.util.Collections; import java.util.List; import util.ComparatorUser; import model.User; /**  * TestApp.java  *  * @author 梁炜平 2014年3月3日  */ public class TestApp {     public static void main(String[] arg0)     {         List<User> userList = new ArrayList<User>();         // 插入数据         userList.add(new User("A", 15));         userList.add(new User("B", 14));         userList.add(new User("A", 14));         // 排序         Collections.sort(userList, new ComparatorUser());         // 打印结果         for (User u : userList)         {             System.out.println(u.getUserName() + " " + u.getUserAge());         }     } }
4.运行结果:
[u]复制代码[/u] 代码如下:
A 14 A 15 B 14
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部