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

Wesley13
• 阅读 504

有时候我们需要对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;
}

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java 数据结构(十二):Collections工具类的使用
Collections工具类1.作用:操作Collection和Map的工具类2.常用方法:reverse(List):反转List中元素的顺序shuffle(List):对List集合元素进行随机排序sort(List):根据元素的自然顺序对指定List集合元素升序排序sort(List,Comparator)
Stella981 Stella981
3年前
List的Select 和Select().tolist()
List<PersondelpnewList<Person{newPerson{Id1,Name"小明1",Age11,Sign0},newPerson{Id2,Name"小明2",Age12,
Stella981 Stella981
3年前
List自定义对象的排序,根据对象的某一列进行排序
  在工作中,经常需要对List对象集合进行排序操作,下面总结下搞个通用排序对象,原理是使用JAVA的    Comparator  接口实现排序  不多说直接上“干货”1、存在实体类:1@Data2@AllArgsConstructor3@NoArgsConstructo
Stella981 Stella981
3年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这