`
ouyangfei0426
  • 浏览: 127501 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

对象排序

    博客分类:
  • java
 
阅读更多

    在javaAPI有个类java.util. Collections。其中有两个方法,分别是:

 

public static <T extends Comparable<? super T>> void sort(List<T> list)

 与

public static <T> void sort(List<T> list, Comparator<? super T> c)

    前者可以对list中的元素进行升序排序,前提是list中的元素必须实现了Comparable接口。可是如果list中的元素没有实现Comparable接口或者想按降序排序的时候,该方法就不够用了,此时我们可以选择第二个方法。

    第二个方法比第一个方法多了一个参数——Comparator类的一个实例对象。通过Comparator的compare方法,我们可以定义自己的比较大小的规则。

    最近公司的一个项目中,从数据库中查询出来的每条记录保存在一个HashMap对象中,然后把所有的HashMap对象保存在一个ArrayList对象中。因为某种原因需要把ArrayList中的HashMap对象根据某个字段的值进行升序排序,可是考虑到HashMap未实现Comparable接口,就只能自己编写一个Comparator对象。详细代码如下:

 

		/*
                 *开始对结果集根据COUNT排序。resultList为一个ArrayList对象,
                 *其中保存有多个HashMap实例,其中每个HashMap实例保存有数
                 *据库查询到的每一条记录,以字段名
                 *作键,字段值做值。
                 */
                if (resultList.size() > 0) {
			Comparator itemComparator = new Comparator() {
				public int compare(Object arg0, Object arg1) {
					HashMap h1 = (HashMap) arg0;
					HashMap h2 = (HashMap) arg1;
					int count1 =
						new Integer(String.valueOf(h1.get("COUNT"))).intValue();
					int count2 =
						new Integer(String.valueOf(h2.get("COUNT"))).intValue();
					return count1 - count2;
				}
			};

			Collections.sort(resultList, itemComparator);
		}
 
分享到:
评论

相关推荐

    Java 对象排序详解.rar_java 对象排序_对象_排序

    在Java编程语言中,对象排序是一项关键操作,特别是在处理集合数据结构时。本文将深入探讨如何对ArrayList、HashSet、TreeSet以及数组中的对象进行排序。理解这些排序机制对于编写高效且可维护的代码至关重要。 ...

    java中通过键盘输入来实例化类对象数组,同时对类对象排序

    java中通过键盘输入来实例化类对象数组,同时对类对象排序,希望初学java的同学们可以下载下学习下

    java对象排序

    在Java编程语言中,对象排序是一项常见的操作,特别是在处理数据结构如数组或集合时。`java sort`标签表明我们关注的是使用Java内置的排序机制。本文将深入探讨Java中的对象排序,包括基本概念、API使用以及自定义...

    List对象排序通用方法

    List对象排序通用方法List对象排序通用方法List对象排序通用方法List对象排序通用方法

    面向对象排序实验

    面向对象排序实验主要探讨的是如何在编程中利用面向对象的思想实现不同的排序算法。这个实验源自山东大学的教学课程,目的是让学生深入理解面向对象编程的核心概念,并通过实现和比较各种排序算法来提升他们的编程...

    面向对象排序方法

    面向对象排序方法是一种在编程中实现排序算法时采用的基于面向对象编程思想的技术。面向对象编程(OOP)的核心概念包括封装、继承、多态和抽象。在这篇讨论中,我们将深入探讨如何利用这些概念来设计和实现排序算法...

    根据对象属性将对象排序

    ### 根据对象属性将对象排序 在编程领域中,我们经常会遇到需要对一组对象进行排序的需求。这种排序可以基于单个属性或者多个属性来进行。本文档将详细讲解如何通过对象的一个或多个属性来实现对象的排序,并支持...

    VS2008--利用委托给对象排序.rar

    在这个特定的教程“VS2008--利用委托给对象排序.rar”中,我们将探讨如何在C#编程中使用委托来实现对象的排序。委托在.NET中扮演着类似函数指针的角色,允许我们传递方法作为参数,从而实现更灵活的代码设计。 委托...

    集合对象排序

    在编程领域,集合对象排序是一项基础且重要的任务,它涉及到数据结构和算法的知识。当我们处理包含多个元素的数据集,如数组、列表或集合时,排序能够帮助我们快速查找、分析和展示信息。本文将深入探讨如何对对象...

    List 对象排序 Demo

    本篇将通过一个名为"List对象排序Demo"的主题,深入探讨如何对Python中的`List`对象进行排序,以及相关的一些源码分析和实用工具。 首先,Python的`List`对象提供两种主要的排序方式:`sort()`方法和`sorted()`函数...

    java 按对象属性排序

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

    the-array-object-Java-sort.rar_java 对象排序

    总的来说,Java中的对象排序是一个核心技能,理解并掌握`Comparator`接口的使用对于提升代码的可读性和可维护性至关重要。通过上述小实例,你应该能掌握在Java中如何对对象数组进行降序排序,为今后的编程实践打下...

    面向对象 排序

    在“面向对象排序”中,我们探讨的是如何利用面向对象的思想和技巧来实现各种排序算法,如字符串(String)、整型(int)和长整型(long)的排序。下面将详细介绍面向对象排序的原理、设计模式以及几种常见的排序...

    java 对象 排序

    在Java编程语言中,对象排序是一项重要的操作,特别是在处理集合数据结构时。本文将深入探讨如何在Java中对对象进行排序,以及相关的知识点。 首先,Java中的对象排序主要涉及到两个核心概念:Comparable接口和...

    对象排序的并行化与分布式计算.pptx

    ### 对象排序的并行化与分布式计算 #### 并行化排序算法概述 并行化排序算法是在多核或多处理器环境下对数据进行排序的方法,它利用计算机硬件的并行处理能力来加速排序过程。此类算法的设计目的是为了提高排序...

    vue数组对象排序的实现代码

    Vue 数组对象排序的实现代码 Vue 数组对象排序的实现代码主要介绍了在 Vue 框架中对数组对象的排序方法,包括普通数组的排序和数组对象的排序。下面是对应的知识点: 普通数组的排序 在 Vue 中,对普通数组的排序...

    List对象排序通用方法[参考].pdf

    `List`对象排序通用方法就是为了解决这个问题,特别是在处理从数据库中检索出的数据列表时,避免频繁的数据库查询,转而在内存中对数据进行排序。这里我们将探讨如何对包含自定义对象的`List`进行通用排序,并减少...

    jquery对象排序

    obj为对象,如student对象,sortName为排序字段,sortOrder为升序或降序,升序为asc,降序为desc 如果两边都为数字,转换为数字比较 如果两边都为String,比较string 如果一边是数字,一边是String,转换为数字。 ...

Global site tag (gtag.js) - Google Analytics