`
jbeduhai
  • 浏览: 504248 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

Comparator 比较两个对象排序

    博客分类:
  • java
 
阅读更多
List<Object> objList = new ArrayList<Object>();
	List<MsgBO> list = service
			.getMsgBOList();
		for (MsgBO smBO : list) {
			objList.add(smBO);
		}

		List<SmsBO> logs = service
				.getSmsBOList();
		for (SmsBO log : logs) {
		     objList.add(log);
		}

		// 排序
		Collections.sort(objList, new Comparator<Object>() {
			@Override
			public int compare(Object o1, Object o2) {
				Date d1 = null, d2 = null;
				if (o1 instanceof MsgBO) {
					d1 = ((MsgBO) o1).getCreateTime();
				} else if (o1 instanceof SmsBO) {
					d1 = ((SmsBO) o1).getCreateTime();
				}

				if (o2 instanceof MsgBO) {
					d2 = ((MsgBO) o2).getCreateTime();
				} else if (o2 instanceof SmsBO) {
					d2 = ((SmsBO) o2).getCreateTime();
				}

				return d1.compareTo(d2);
			}
		});
	

解析代码
for(Object  data : objList ){
if (data instanceof MsgBO ) 
MsgBO msgBO = (MsgBO ) data;
else 
SmsBO smsBO = (SmsBO) data;
}




// 排序
		Collections.sort(resultBos, new Comparator<Object>() {
			@Override
			public int compare(Object o1, Object o2) {
				Date d1 = null, d2 = null;
				d1 = ((MsgBO) o1).getTime();
				d2 = ((MsgBO) o2).getTime();
				return d1.compareTo(d2);
			}
		});


分享到:
评论

相关推荐

    程序实现时间排序Comparator

    通过实现`Comparator`接口,可以定义一个比较器,用于比较两个对象并确定它们之间的顺序关系。 ### 2. 代码示例分析 在提供的代码中,我们看到了一个具体的`Comparator`实现——`ComparatorObject`类。这个类被...

    Java中的Comparator 对多个排序条件的处理

    这个接口提供了`compare()`方法,根据特定的规则来决定两个对象的相对顺序。当需要根据多个排序条件对集合进行排序时,可以使用多个`Comparator`组合的方式来实现。这篇博客文章"Java中的Comparator 对多个排序条件...

    List对象集合的排序:比较器Comparator(简单例子)

    `Comparator`是一个可以比较两个对象的类,它提供了一种方式来定义自定义的比较规则,从而实现灵活的排序逻辑。 `Comparator`接口位于`java.util`包中,它包含了一个方法`compare(T o1, T o2)`,这个方法需要比较两...

    java排序Comparator和Comparable

    `compare`方法用于比较两个对象,规则由你自定义,而`equals`方法则是判断两个Comparator是否相等,通常与`compare`方法的实现有关。 ```java public class MyComparator implements Comparator&lt;MyObject&gt; { @...

    Comparator 排序器

    然后,我们定义了两个匿名内部类,它们都实现了`Comparator`接口,分别根据`idsn`和`name`来排序`BookType`对象。 1. **创建BookType对象**: - 创建了一个`List`对象,并向其中添加了三个`BookType`实例,每个...

    比较器Comparator简单用法

    首先,`Comparator`接口位于`java.util`包下,它包含一个方法`compare(T o1, T o2)`,用于比较两个对象。当你创建一个新的`Comparator`实现时,你需要重写这个方法,返回一个整数值,表示两个对象的相对顺序。如果`o...

    详解JAVA使用Comparator接口实现自定义排序

    Comparator接口中最重要的方法是compare方法,该方法用于比较两个对象的大小。compare方法的返回值是一个整数,表明两个对象的大小关系。如果返回值小于0,则第一个对象小于第二个对象;如果返回值等于0,则两个对象...

    Compable和Comparator自定义对象属性排序

    可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组

    多个对象列表排序

    这里的`Comparator`是一个接口,我们需要实现其`compare(T o1, T o2)`方法来定义两个对象的比较逻辑。 例如,假设我们有一个`Person`类,包含`String`类型的`name`属性和`int`类型的`age`属性,我们可以这样进行...

    arraylist 对象 数组排序

    Comparator是一个接口,定义了compare()方法,用于比较两个对象并返回一个整数。我们可以通过实现这个接口来定义自定义的比较逻辑。例如,假设我们有一个User类,包含name和age属性,我们可以创建一个Comparator来...

    String,number,String+number的Comparator排序

    `Comparator&lt;String&gt;`的实现通常会覆盖`compare()`方法,其中两个`String`对象作为参数,返回值决定了它们的相对顺序。 其次,`number`的排序通常涉及到`Integer`, `Double`, `Float`等数值类型。在Java中,这些...

    JAVA 对象数组按照多个属性进行排序

    而`Comparator`则是一个可以比较任何两个对象的接口,它包含一个`compare()`方法,可以根据我们自定义的规则来比较对象。 对于对象数组,如果对象类实现了`Comparable`接口,我们可以直接使用`Arrays.sort()`方法...

    comparator接口与Comparable接口的区别

    实现Comparator接口需要覆盖compare()方法,以便比较两个对象的大小。例如,我们可以定义一个PersonComparator类,并实现Comparator接口,并覆盖compare()方法,以便比较Person类的对象的大小。 应用场景:...

    Comparable接口和Comparator使用示例

    Comparator 是 Java 中的一种比较器接口,用于比较两个对象的大小。与 Comparable 接口不同,Comparator 是一个外部比较器,它可以独立于被比较的对象。 在上面的示例代码中,我们定义了一个 CompareTest 类,该类...

    java 按对象属性排序

    这里我们探讨的主题是如何根据对象的属性进行排序,结合提供的`Simple.java`和`User.java`文件,我们可以假设这是一个关于自定义对象排序的例子。下面将详细解释相关知识点。 1. **Comparable接口**: Java中的`...

    java对象排序

    `Comparator`提供了一个`compare()`方法,用于比较两个对象。 ```java Comparator&lt;MyObject&gt; comparator = new Comparator() { public int compare(MyObject obj1, MyObject obj2) { return obj1.getValue() - ...

    java 对象 排序

    `Comparator`接口定义了一个`compare(T o1, T o2)`方法,用来比较两个对象的顺序。你可以创建多个`Comparator`实例,每个实例对应一种不同的排序逻辑。 - 对于`Collections.sort()`方法,你可以传递自定义的`...

    Comparable&Comparator区别

    如果两个对象在排序中的位置相同,则返回0;如果当前对象位于`o`之后,则返回正数。 ##### 3. 实现案例 下面是一个简单的例子,展示了如何实现`Comparable`接口: ```java public class Customer implements ...

    List对象排序通用方法

    `compare()`方法接受两个`UserInfo`对象作为参数,然后比较它们的`userId`字段,返回值决定了排序顺序。如果`user1`的`userId`小于`user2`的`userId`,`compare()`方法返回负数,表示`user1`应该排在`user2`之前;...

    对比Java中的Comparable排序接口和Comparator比较器接口

    Comparator接口包含两个方法:`compare(T o1, T o2)`用于比较两个对象的大小,以及`equals(Object obj)`,虽然可以不实现,但为了遵循通用的equals合同,建议在自定义Comparator时重写此方法以确保一致性。...

Global site tag (gtag.js) - Google Analytics