在深圳的面试
傳入一個(gè)List<User>?對(duì)象?根據(jù)User的Date?類型 birthday屬性降序排序
?
方法1(常見的冒泡法):
private static Map getUsersMap2(List<User> list) {Map map = new HashMap();List<User> result = new ArrayList<User>();for (int i = 0; i < list.size(); i++) {User user = list.get(i);for (int j = 0; j < list.size(); j++) {if (user.getBirthday().getTime() > list.get(j).getBirthday().getTime()) {user = list.get(j);}}result.add(user);list.remove(user);}result.add(list.get(0));map.put("classId", result);return map;}?
?方法2(利用Collections.sort()方法自定義比較規(guī)則):
private static Map getUsersMap(List<User> list) {Map map = new HashMap();// List<User> result = new ArrayList<User>();Comparator<User> com = new Comparator<User>() {public int compare(User o1, User o2) {return o1.getBirthday().compareTo(o2.getBirthday());//可以將日期類型直接轉(zhuǎn)換成字符串直接比較ASCII碼//當(dāng)int < 0 則 o1 < o2;
// int = 0 o1 = o2;
// int > 0 o1 > o2;
}};Collections.sort(list, com);System.out.println(list);map.put("v", list);return map;}
?
?另附(格式化日期函數(shù)的使用):
public static void main(String[] args) throws ParseException {/* DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.JAPANESE); 不知道是哪一種格式時(shí)可以這么做System.out.println(df.format(new Date()));Date date1 = df.parse("2014/09/16");Date date2 = df.parse("2014/09/15");Date date3 = df.parse("2014/09/14");*/User user1 = new User(1, "zhangsan", "2014/09/16");User user2 = new User(2, "lisi", "2014/09/17");User user3 = new User(2, "lisi", "2014/09/14");List<User> list = new ArrayList<User>();list.add(user1);list.add(user2);list.add(user3);System.out.println(getUsersMap(list));}
?
轉(zhuǎn)載于:https://www.cnblogs.com/sallet/p/3976073.html
總結(jié)
- 上一篇: Elasticsearch就这么简单
- 下一篇: Jstorm+Spring+mybati