比较字符串,排序,相比字符串排序

正如字符串,排序,相比字符串排序

      List<Map<String, Object>> queryData =
configDao.queryConfig( expressions, conditions, expressions);    
Collections.sort(queryData, new Comparator<Map<String,
Object>>() { public int compare(Map<String, Object> o1,
Map<String, Object> o2) { // Integer name1 =
Integer.valueOf(o1.get(“category”).toString())
;//name1是从你list里面拿出来的三个 // Integer name2 =
Integer.valueOf(o2.get(“category”).toString()) ;
//name1是从你list里面拿出来的第三个name // return
name1.compareTo(name2); return
o1.get(“category”).toString().compareTo(o2.get(“category”).toString());
} });  
Comparator内置函数,queryDate是供给排列的list数组,前边是排序准则,  
compare(a,b)方法:依照第四个参数小于、等于或凌驾第二个参数分别重返负整数、零或正整数。
equals(obj)方法:仅当钦命的指标也是八个 Comparator,並且强行实行与此
Comparator 同样的排序时才回到 true。
  Collections.sort(list, new
PriceComparator());的首个参数重临贰个int型的值,就也正是三个注解,告诉sort方法按什么顺序来对list进行排序。

  例子:   package com.tjcyjd.comparator; import
java.util.ArrayList; import java.util.Collections; import
java.util.Comparator; import java.util.GregorianCalendar; import
java.util.Iterator; import java.util.List;     public class
UseComparator {   public static void main(String args[]) {
  List<Book> list = new ArrayList<Book>(); // 数组连串  Book b1 = new Book(一千0, “红楼”, 150.86, new
GregorianCalendar(2010, 01, 25), “曹雪芹、高鄂”);   Book b2 = new
Book(10001, “三国演义”, 99.68, new GregorianCalendar(二〇〇八, 7, 8),
“罗贯中 “);   Book b3 = new Book(一千2, “水浒传”, 100.8, new
GregorianCalendar(二〇〇九, 6, 28), “施耐庵 “);   Book b4 = new
Book(一千3, “西游记”, 120.8, new 格雷戈orianCalendar(二〇一二, 6, 8),
“吴承恩”);   Book b5 = new Book(10004, “天龙八部”, 10.4, new
GregorianCalendar(2013, 9, 23), “乐乎”);   list.add(b1);
  list.add(b2);   list.add(b3);   list.add(b4);   list.add(b5);
  // Collections.sort(list); //未有暗中同意相比较器,不能够排序
  System.out.println(“数组类别中的元素:”);   myprint(list);  
  Collections.sort(list, new PriceComparator()); // 遵照价格排序
  System.out.println(“按书的价位排序:”);   myprint(list);    
  Collections.sort(list, new CalendarComparator()); // 依据时间排序
  System.out.println(“按书的问世时间排序:”);   myprint(list); }  
  // 自定义相比较器:按书的价位排序     static class 普赖斯Comparator
implements Comparator {     public int compare(Object object1,
Object object2) {// 完毕接口中的方法     Book p1 = (Book) object1;
// 强制转换     Book p2 = (Book) object2;     return new
Double(p1.price).compareTo(new Double(p2.price));      }    }  
  // 自定义比较器:按书出版时间来排序   static class
CalendarComparator implements Comparator {     public int
compare(Object object1, Object object2) {// 完成接口中的方法
    Book p1 = (Book) object1; // 强制转换     Book p2 = (Book)
object2; return p2.calendar.compareTo(p1.calendar);     }   }  
  // 自定义方法:分行打字与印刷输出list中的成分   public static void
myprint(List<Book> list) {     Iterator it = list.iterator();
// 获得迭代器,用于遍历list中的全数因素     while (it.hasNext()) {//
如若迭代器中有成分,则赶回true       System.out.println(“\t” +
it.next());// 显示该因素            } 
    } 
}       重写 compare方法还能够加列数 金沙js333娱乐场 ,   

ListMapString,
Object queryData = configDao.queryConfig(expressions, conditions,
expressions);Collections.sort(queryData, new Compa…

 

 

 

 

 

 

List<Map<String, Object>> queryData = configDao.queryConfig(

List<Map<String, Object>> queryData = configDao.queryConfig(

expressions, conditions, expressions);

expressions, conditions, expressions);

 

 

 

 

Collections.sort(queryData, new Comparator<Map<String,
Object>>() {

Collections.sort(queryData, new Comparator<Map<String,
Object>>() {

public int compare(Map<String, Object> o1, Map<String,
Object> o2) {

public int compare(Map<String, Object> o1, Map<String,
Object> o2) {

// Integer name1 = Integer.valueOf(o1.get(“category”).toString())
;//name1是从你list里面拿出去的贰个

// Integer name1 = Integer.valueOf(o1.get(“category”).toString())
;//name1是从你list里面拿出去的一个

// Integer name2 = Integer.valueOf(o2.get(“category”).toString()) ;
//name1是从你list里面拿出来的第四个name

// Integer name2 = Integer.valueOf(o2.get(“category”).toString()) ;
//name1是从你list里面拿出来的第3个name

// return name1.compareTo(name2);

// return name1.compareTo(name2);

return
o1.get(“category”).toString().compareTo(o2.get(“category”).toString());

return
o1.get(“category”).toString().compareTo(o2.get(“category”).toString());

}

}

});

});

 

 

Comparator内置函数,queryDate是内需排列的list数组,前面是排序法则,

Comparator内置函数,queryDate是亟需排列的list数组,前面是排序法规,

 

 

compare(a,b)方法:依照第1个参数小于、等于或超越第三个参数分别重返负整数、零或正整数。
equals(obj)方法:仅当钦定的靶子也是一个 Comparator,况且强行实行与此
Comparator 同样的排序时才再次回到 true。

compare(a,b)方法:依据第叁个参数小于、等于或高于第二个参数分别重临负整数、零或正整数。
equals(obj)方法:仅当钦点的对象也是二个 Comparator,并且强行实践与此
Comparator 一样的排序时才回到 true。

 

 

Collections.sort(list, new
PriceComparator());的第一个参数重临贰个int型的值,就也就是二个标记,告诉sort方法按如何顺序来对list实行排序。

Collections.sort(list, new
PriceComparator());的第4个参数重回一个int型的值,就也正是三个注脚,告诉sort方法按什么顺序来对list进行排序。

 

 

例子:

例子:

 

 

package com.tjcyjd.comparator;

package com.tjcyjd.comparator;

import java.util.ArrayList;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Collections;

import java.util.Comparator;

import java.util.Comparator;

import java.util.GregorianCalendar;

import java.util.GregorianCalendar;

import java.util.Iterator;

import java.util.Iterator;

发表评论

电子邮件地址不会被公开。 必填项已用*标注