`
zhenping
  • 浏览: 86179 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Java对List元素进行按自定义排序

 
阅读更多

有时候我们需要对list进行排序,方便我们查阅,下面就是本人做的一个小测试。

package www.huarui.biz.jfreecharts;

public class BuffBean {
private String month = null;
private int count = 0;
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}

package www.huarui.biz.jfreecharts;


import java.util.Comparator;


@SuppressWarnings("unchecked")
public class ComparatorBean implements Comparator {
@Override
public int compare(Object o1, Object o2) {
BuffBean bean1 = (BuffBean) o1;
BuffBean bean2 = (BuffBean) o2;
int flag = bean1.getMonth().compareTo(bean2.getMonth());
return flag;


}
}

public CategoryDataset yearOfLineDataset(int year) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
MysqlJDBCUtil MysqlJDBCUtil = new MysqlJDBCUtil();
String sql = MysqlJDBCUtil.JDBC_Sql(year);
ArrayList max = produceMonth(year);
List buffList = MysqlJDBCUtil.executeSQL(sql);
ArrayList min = new ArrayList();
for (int i = 0; i < buffList.size(); i++) {
BuffBean bean = (BuffBean) buffList.get(i);
if (bean != null)
min.add(bean.getMonth());
}
List list = diff(max, min);
for (int j = 0; j < list.size(); j++) {
BuffBean sort = new BuffBean();
sort.setMonth(list.get(j).toString());
sort.setCount(0);
buffList.add(sort);
}
ComparatorBean comparator = new ComparatorBean();
Collections.sort(buffList, comparator);//使用自定义排序
for (int i = 0; i < buffList.size(); i++) {
BuffBean b = (BuffBean) buffList.get(i);
System.out.println("bean-month=" + b.getMonth());
System.out.println("bean-count=" + b.getCount());
dataset.addValue(b.getCount(), year + "", b.getMonth());
}
return dataset;
}

分享到:
评论

相关推荐

    Java对List多个排序、查询条件的处理

    默认情况下,它是基于元素自然顺序进行排序,但如果需要自定义排序规则,可以提供一个`Comparator`实例。例如: ```java List&lt;String&gt; list = ...; Collections.sort(list, new Comparator() { @Override public ...

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

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

    java List 排序 Collections.sort

    总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...

    java使用stream对日期排序

    如果需要自定义排序规则,可以创建一个`Comparator&lt;LocalDate&gt;`实例。 4. 自定义日期排序: 如果需要按照特定规则(例如,先按月份排序,再按日期排序)排序,可以这样实现: ```java List&lt;LocalDate&gt; ...

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

    在Java中,我们可以使用Comparable接口来实现自定义排序。例如,我们可以创建一个Record类,实现Comparable接口,并重写compareTo方法。在compareTo方法中,我们可以使用String的compareTo方法来比较两个字符串的...

    java 使用Collections类对List的排序操作

    总的来说,`Collections` 类提供的排序功能使得在 Java 中对 `List` 进行操作变得更加便捷,无论是自然排序还是定制排序,都可以轻松实现。同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者...

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

    总之,Comparator接口在Java中提供了强大的工具来实现自定义排序。它不仅能够满足简单的排序需求,也能够处理复杂的排序场景。通过灵活使用Comparator接口,我们能够为不同类型的对象集合定义各种排序规则,使得数据...

    文件按照window 的排序规则-Java实现

    在Java中,可以使用`File[] listFiles()`方法获取目录下的所有文件,然后通过`Arrays.sort()`排序,但默认是区分大小写的。若要实现不区分大小写的排序,需自定义比较器: ```java Arrays.sort(files, new ...

    java中文排序,数字字母汉字排序

    在Java编程语言中,对包含中文、数字和字母的数据进行排序是一项常见的任务。这个场景下,我们关注的是如何实现一个自定义的排序规则,按照数字...希望这个解答能够满足你的需求,并帮助你深入理解Java中的自定义排序。

    Java Collections.sort()实现List排序的默认方法和自定义方法

    在Java中,Collections.sort()方法可以对List进行默认排序,默认的排序规则是按照元素的自然顺序进行排序。例如,字符串类型的元素将按照字典顺序进行排序,数字类型的元素将按照数值顺序进行排序。 在使用...

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

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

    java 中文姓氏 排序

    它可以接受一个可选的比较器参数来进行自定义排序。 #### 三、具体实现 ##### 1. 对象列表按照中文姓氏排序 假设我们有一个 `SysTeacherInfo` 类,其中包含教师的名字 `teachername`,我们需要按照教师的中文姓氏...

    list集合树状排序-java

    在本场景中,我们需要对List中的对象进行排序,这些对象通常包含表示层级关系的属性,如父ID、子节点列表等。 接下来,我们要解决的是“树状排序”。树状排序,或称为树形排序,是指将具有树结构的数据进行排序。在...

    java文件夹按时间、大小等排序

    这里我们将深入探讨如何使用Java实现文件按时间、大小等属性进行排序的功能。 首先,我们要引入`java.io.File`类,它是Java中用于表示文件和目录的基本类。我们可以创建`File`对象来代表一个具体的文件或目录,然后...

    Java中对list元素进行排序的方法详解

    在Java编程中,对List元素进行排序是一项常见的操作,特别是在处理数据集合时。本文将详细介绍如何在Java中对List元素进行排序,包括两种主要的方法:使用Comparable接口和Comparator接口。 1. **使用Comparable...

    最快的排序算法 java最快的排序-在Java中对列表进行排序的最快方法,排序算法数据结构

    Java 中的排序算法是指对列表中的元素进行排序的方法。常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,选择合适的排序算法取决于具体的应用场景。 在 ...

    java中进行集合排序

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

    按拼音排序分组LIST

    本示例"按拼音排序分组LIST"着重于展示如何在Android应用中实现一个列表(List),该列表中的元素按照汉字的拼音首字母从A到Z进行排序,并且用户可以点击每个字母来筛选显示相应首字母的数据。这个功能在很多应用...

    java List排序demo

    这就是如何在Java中对`List`进行排序的完整过程,特别是当列表包含自定义对象并需要根据特定字段排序时。通过`Collections.sort()`和`Comparator`,我们可以灵活地调整排序规则,满足各种业务需求。 在`RankingDemo...

    Java对List对象进行排序_.docx

    然而,当需要根据对象内部的某个特定属性进行排序时,就需要自定义排序规则。这里介绍的是一种利用Java反射机制实现的通用排序方法。 首先,反射机制允许我们在运行时获取类的信息,包括类的字段(成员变量)和方法...

Global site tag (gtag.js) - Google Analytics