`
amcucn
  • 浏览: 293145 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在Java中对集合当中的对象进行排序

阅读更多

近日工作当中需要将一些数据按一定的格式进行排序,而这些数据是从数据库当中查询出来的一些对象的某个属性,无法按此属性进行排序查询。为此想到将对象取出后再将对其按某格式进行排序,这就需要运用到对集合进行排序。经高人指点,发现以下方法比较好用,特记下一笔。

 

/**
	 * 根据分类得到与分类相关的所有品牌信息
	 */
	private Collection getBrandByType(Integer typeId) {
		String hql = "select distinct pt.box.productInfo.brand From ProductTop As pt where pt.box.productInfo.type.id=" + typeId ;
		List allBrandList = utilDao.executeQuery(hql);
		//对集合进行排序
		Collections.sort(allBrandList, new compareList() );
		return allBrandList;
	}
	
	/**
	 * 比较两个对象的大小,实现Comparator接口
	 */
	private class compareList implements Comparator{
		public int compare(Object o1, Object o2) {
			Catagory c1 = (Catagory)o1;
			Catagory c2 = (Catagory)o2;
			String catagoryName1 = c1.getName();
			String catagoryName2 = c2.getName();
//通过比较两个字符串对象来排序。此处可以根据自己的需要写两个对象的具体比较内容
		return catagoryName1.compareTo(catagoryName2);
		}
		
	}

 

大致步骤如下:
首先通过一般的查询得到一组对象集合此处为:allBrandList 。然后使用Collections.sort方法进行排序,在这个方法当中需要一个实现了Comparator接口的类用来比较两个对象大小。
至于两个对象的大小如何比较,是由自己来定义的,此处只使用了String类当中的compareTo方法,也就是Java当中已定义好了的字符比较方法。如果我们有自己的特别需要,则需要自己重写此方法。
关键的代码:

Collections.sort(allBrandList, new compareList());

 

 

 

 

1
0
分享到:
评论

相关推荐

    Java对集合中的对象排序

    对集合中的对象进行排序,例如:List中存放了User对象,则可根据User对象的某一个属性进行顺序or倒序的排序

    java中进行集合排序

    这里的“集合”特指Java集合框架中的数据结构,而“排序”则是指对这些集合内的元素按照某种规则进行重新排列。 #### 描述:Java中按对象的某个属性进行升序降序的排序 这段描述进一步明确了排序的目标:即基于...

    java 集合分组与排序

    Java集合框架中的`List`接口和数组(Array)是两种常用的数据结构,它们在处理数据时各有优势。下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这...

    java集合某个字段按照中文拼音排序.docx

    对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用Comparable接口来实现自定义排序。例如,我们可以创建一个Record类,...

    java List中对象多属性排序及各属性排序设置

    本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和自定义比较器(Comparator)来完成的,对于复杂的数据排序需求具有很高的灵活性。...

    Java集合排序及java集合类详解

    在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java集合主要分为两大类:List(列表)和Set(集)。List是一个有序的集合,允许元素重复,并且可以...

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

    在Java编程中,对象数组排序是一项常见的任务,特别是在处理复杂数据结构时。当我们需要根据对象的多个属性进行排序时,情况会变得稍微复杂。本文将深入探讨如何在Java中实现这个功能,结合给出的标签“源码”和...

    java 按对象属性排序

    在Java集合框架中,`Collections.sort()`方法可以对List类型的集合进行排序。如果列表元素实现了`Comparable`接口,它会自动排序。如果列表元素是自定义对象,那么`compareTo()`方法将决定排序规则。 3. **...

    Java集合排序及java集合类详解.pdf

    Java集合框架还提供了排序功能,允许开发者按照特定的顺序对集合中的元素进行排序。 - **自然排序**:使用元素的自然顺序,即实现Comparable接口的对象。 - **定制排序**:使用Comparator接口来定义元素之间的比较...

    java中Map集合的排序方法

    1,HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中; 2,当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置就是此对象准备往数组中存放的位置。 ...

    java中集合排序

    Java集合框架主要包括`List`, `Set`, 和 `Map`三大接口。其中,`List`接口要求元素有序,允许重复;`Set`接口要求元素唯一,无序;`Map`接口则存储键值对,键是唯一的。对于排序,我们主要关注`List`中的`Sort`方法...

    java版本List中对象多属性排序.rar

    在Java编程中,对List集合中的对象进行多属性排序是一项常见的任务。这通常涉及到自定义比较逻辑,以满足复杂的数据排序需求。在这个“java版本List中对象多属性排序.rar”压缩包中,我们可能找到了一个关于如何在...

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

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

    java 中文姓氏 排序

    本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...

    面向对象java排序包

    总的来说,这个面向对象的Java排序包展示了Java语言在处理复杂问题时的强大能力,通过良好的设计模式和编程实践,为开发者提供了便捷的排序解决方案。它的可扩展性意味着不仅可以满足当前的需求,还能随着项目的发展...

    java 对象集合小例子.

    在Java编程语言中,对象集合是程序设计中不可或缺的一部分,它们允许我们存储和管理各种类型的对象。本篇文章将深入探讨Java中的几个主要对象集合:Hashtable、Vector、LinkedList以及数组和集合的基本概念。 首先...

    JAVA像SQL一样对List对象集合进行排序

    在本文中,我们将详细介绍如何使用JAVA像SQL一样对List对象集合进行排序。我们将通过五个部分,分别介绍字符串List排序、整数类型List排序、对象字段对对象List排序、使用自定义Comparator排序和通过Comparator链对...

    Java中实现参数名ASCII码从小到大排序(字典序).doc

    在Java编程中,有时我们需要对一组参数按照字典顺序(ASCII码值从小到大)进行排序,例如在创建签名或构建URL查询字符串时。这里提供了一个名为`createSign`的方法,它接受一个`Map, Object>`类型的参数,并返回一个...

Global site tag (gtag.js) - Google Analytics