1.CompareCarInfo compare = new CompareCarInfo(carSearchRequest.getCarSortType());
Collections.sort(carsInfo, compare);
2.
import java.util.Comparator;
import com.b2r.travel.car.domain.CarInfo;
import com.b2r.travel.car.service.CarSortType;
public class CompareCarInfo implements Comparator<CarInfo>{
private CarSortType sort;
public CompareCarInfo(CarSortType sort){
this.sort = sort;
}
/**
* Sort on price,company,type,class.
*/
public int compare(CarInfo car1, CarInfo car2) {
switch(sort){
case COMPANY :{
if(car1.getVendor().getCode().compareTo(car2.getVendor().getCode()) > 0){
return 1;
}else if(car1.getVendor().getCode().compareTo(car2.getVendor().getCode()) < 0){
return -1;
}else{
return 0;
}
}
case TYPE:{
if(car1.getVehicle().getCarType().compareTo(car2.getVehicle().getCarType()) > 0){
return 1;
}else if(car1.getVehicle().getCarType().compareTo(car2.getVehicle().getCarType()) < 0){
return -1;
}else{
return 0;
}
}
case CLASS:{
if(car1.getVehicle().getCarClass().compareTo(car2.getVehicle().getCarClass()) > 0){
return 1;
}else if(car1.getVehicle().getCarClass().compareTo(car2.getVehicle().getCarClass()) < 0){
return -1;
}else{
return 0;
}
}
default:{
if(car1.getMinPrice() > car2.getMinPrice()){
return 1;
}else if(car1.getMinPrice() < car2.getMinPrice()){
return -1;
}else{
return 0;
}
}
}
}
}
分享到:
相关推荐
对于大型数据集,`Collections.sort()`通常能提供很好的性能,但如果需要对大量不可变对象或已排序的列表进行排序,使用`TreeSet`或`LinkedHashSet`等集合类型可能会更高效,因为它们在底层实现了红黑树结构,插入和...
Java中的`Arrays.sort()`和`Collections.sort()`是两个常用的排序函数,它们分别用于对数组和集合进行排序。这两个函数在内部实现上有所不同,但都基于高效的排序算法。 首先,`Collections.sort()`方法在处理列表...
在Java编程语言中,`Collections.sort()` 是一个非常重要的函数,它用于对集合中的元素进行排序。这个函数是 `java.util.Collections` 类的一个静态方法,适用于列表(List)类型的集合。`Collections.sort()` 可以...
在Java编程语言中,`Collections.sort()` 方法是一个非常重要的工具,用于对List接口实现的集合进行排序。这个方法使得开发者能够方便地按照指定的顺序排列集合中的元素。本篇文章将详细探讨如何使用 `Collections....
在Java编程语言中,`Collections.sort()`方法是一个非常重要的工具,它用于对集合中的元素进行排序。这个方法主要应用于`List`接口的实现类,如`ArrayList`和`LinkedList`等。`Collections.sort()`有两种主要的排序...
Java Collections.sort 是 Java 集合框架中的一种静态方法,用于对 List 类型进行排序。该方法有两种参数形式,分别是对基本类型和自定义类的排序。在本文中,我们将通过示例代码来详细介绍这两种用法。 基本类型的...
在Java编程中,集合框架是处理数据的重要工具,而Collections.sort方法则是对列表(List)进行排序的关键函数。本文将深入探讨两种使用Collections.sort方法对List排序的方法。 首先,第一种方法是让List中的对象实现...
在这个场景下,我们使用`Collections.sort()`函数对一个包含Map对象的List进行排序,然后将排序后的数据适配到ListView中。以下是关于这个主题的详细解释。 **一、Map与List的关系** 在Java中,Map是一种键值对的...
在示例中,`Collections.sort(list)`按照默认的自然顺序对元素进行排序,使得`list`变为"123", "123", "aaa", "abc", "xyz"。 3. **`Collections.shuffle(List<T> list, Random rnd)`**:这个方法将列表中的元素...
通过了解和掌握`Collections.sort()`方法的两种形式,开发者可以更灵活地处理集合排序问题,提升代码的可读性和可维护性。在编写Java程序时,充分利用这些工具类的方法,可以提高开发效率并保证代码质量。
总的来说,Collections工具类的`sort()`方法是Java集合排序的核心,结合Comparable接口和Comparator接口,可以满足各种复杂排序需求。无论是基本类型还是自定义类型,都能通过合理的比较策略实现有效的排序。在实际...
Collections 类是一个集合工具类,它提供了多种操作集合的方法,如查找、排序、线程安全操作、不可变集合等。Collections 类的方法可以分为四大类:常规操作、排序、线程安全操作、不可变集合。 常规操作 ...
Java集合排序涉及的知识点广泛,包括基本的`Collections.sort()`、自定义Comparator、Stream API、并行排序以及泛型等。理解这些概念并熟练运用,能显著提高代码质量和效率。在实际编程中,根据具体需求选择合适的...
例如,Collections.sort()方法可以对List进行排序,而Collections.synchronizedXXX()方法则可以帮助我们创建线程安全的集合。 在实际开发中,选择合适的集合类型和方法至关重要。例如,当我们需要保持元素插入顺序...
在Java编程语言中,`Collections` 类是 `java.util` 包中的一个工具类,它提供了许多静态方法,用于操作各种集合,特别是列表(List)。本文将深入探讨如何使用 `Collections` 类对 List 进行排序操作。 首先,让...
java 集合类的排序主要是用Collections.sort方法,Collections和Collection是不一样的,前者是类,后者是接口,在这里,我主要是想说明它的sort方法的几种类型, 提示:实现接口的方法时,只需要比较两个数,大的返回1,...
例如,对整型ArrayList进行升序排序可以使用`Collections.sort(list)`。 2. **查找**: - `binarySearch(List<? extends Comparable<? super T>> list, T key)`: 对于已经排序的List,这个方法可以使用二分查找法...
- `Collections.sort()`方法会改变原ArrayList的顺序,如果不想改变原集合,可以先复制一份ArrayList再进行排序。 - 对于大量数据的排序,ArrayList的性能可能不如使用LinkedList,因为ArrayList排序时涉及到大量...
### Java中进行集合排序 在Java编程中,对集合(如`List`)中的对象进行排序是一项常见的操作。本文将详细介绍如何根据对象的特定属性来实现升序或降序排序。 #### 标题:Java中进行集合排序 该标题表明文章的...
1. 排序:Collections.sort() 方法可以实现升序和降序排序。 例如: List list = new ArrayList(); list.add(2); list.add(1); list.add(3); Collections.sort(list);//升序 System.out.println(list); Collections...