1:排序类
package com.tixa.bad.customer.util;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import com.tixa.bad.customer.data.AdstatGraphArea;
/**
* 对地区数据进行排序
*
* @StatAreaSort
*
* @author
*
* TODO
*/
public class StatAreaSort
{
/**
* 点击排序规则,倒序
*/
private static Comparator orderClick = new Comparator()
{
public int compare(Object o1, Object o2)
{
AdstatGraphArea b1 = (AdstatGraphArea) o1;
AdstatGraphArea b2 = (AdstatGraphArea) o2;
return (b2.getClickcount() - b1.getClickcount());
}
};
/**
* ip排序规则,倒序
*/
private static Comparator orderIP = new Comparator()
{
public int compare(Object o1, Object o2)
{
AdstatGraphArea b1 = (AdstatGraphArea) o1;
AdstatGraphArea b2 = (AdstatGraphArea) o2;
return (b2.getIpcount() - b1.getIpcount());
}
};
/**
* 根据点击量进行排序
*
* @param list
*/
public static void getSortClick(ArrayList list)
{
Collections.sort(list, orderClick);
// Collections.reverse(list);
}
/**
* 根据ip量进行排序
*
* @param list
*/
public static void getSortIp(ArrayList list)
{
Collections.sort(list, orderIP);
// Collections.reverse(list);
}
}
2:对排序进行测试
package com.tixa.bad.customer.util;
import java.util.ArrayList;
import junit.framework.TestCase;
import com.tixa.bad.customer.data.AdstatGraphArea;
public class StatAreaSortTest extends TestCase
{
protected void setUp() throws Exception
{
super.setUp();
}
protected void tearDown() throws Exception
{
super.tearDown();
}
/*
* Test method for 'com.tixa.bad.customer.util.StatAreaSort.getSortClick(ArrayList)'
*/
public void testGetSortClick()
{
ArrayList list = new ArrayList();
AdstatGraphArea graAre = new AdstatGraphArea();
graAre.setAdid(1);
graAre.setClickcount(786);
graAre.setIpcount(43453);
list.add(graAre);
AdstatGraphArea graAre1 = new AdstatGraphArea();
graAre1.setAdid(2);
graAre1.setClickcount(987876);
graAre1.setIpcount(545);
list.add(graAre1);
AdstatGraphArea graAre2 = new AdstatGraphArea();
graAre2.setAdid(3);
graAre2.setClickcount(877887);
graAre2.setIpcount(4534534);
list.add(graAre2);
AdstatGraphArea graAre3 = new AdstatGraphArea();
graAre3.setAdid(4);
graAre3.setClickcount(97998);
graAre3.setIpcount(34534);
list.add(graAre3);
AdstatGraphArea graAre4 = new AdstatGraphArea();
graAre4.setAdid(5);
graAre4.setClickcount(500);
graAre4.setIpcount(2000);
list.add(graAre4);
System.out.print("sore before ");
for(int i = 0;i<list.size();i++)
{
AdstatGraphArea a = (AdstatGraphArea)list.get(i);
System.out.println(a.getAdid());
}
StatAreaSort.getSortClick(list);
System.out.print("sore after");
for(int i = 0;i<list.size();i++)
{
AdstatGraphArea a = (AdstatGraphArea)list.get(i);
System.out.println(a.getAdid());
}
System.out.println("----------------------");
StatAreaSort.getSortIp(list);
for(int i = 0;i<list.size();i++)
{
AdstatGraphArea a = (AdstatGraphArea)list.get(i);
System.out.println(a.getAdid());
}
}
/*
* Test method for 'com.tixa.bad.customer.util.StatAreaSort.getSortIp(ArrayList)'
*/
public void testGetSortIp()
{
}
}
分享到:
相关推荐
天才之作:通过泛型,对List中对象多属性排序,支持设置各属性排序方式(动态属性),看了之后绝对让你震撼!
java对象排序
Java对象排序中文排序SortedSet排序使用和源码讲解Java开发Java经验技巧共13页.pdf.zip
Java 对象排序详解 本文主要关注排序Collection的ArrayList、HashSet、TreeSet,以及最后但并非最不重要的数组。
java集合某个字段按照中文拼音排序 java集合某个字段按照中文拼音排序
java中通过键盘输入来实例化类对象数组,同时对类对象排序,希望初学java的同学们可以下载下学习下
NULL 博文链接:https://anxingyu.iteye.com/blog/414927
这里有几个关于java 对象排序的例子,很使用。
Java 对象属性map排序示例
1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法和顺序要求,保证其他程序不修改 4.减少程序代码中逻辑上的冗余 5.至少用两种方案编程实现该程序包,...
可以实现多种排序方法的排序,应用面向对象思想
java 对象集合按字段排序
java编写的排序包,实现了很好的扩展功能,对排序要求和排序方法的添加,实现思想不错
对集合中的对象进行排序,例如:List中存放了User对象,则可根据User对象的某一个属性进行顺序or倒序的排序
List对象排序通用方法List对象排序通用方法List对象排序通用方法List对象排序通用方法
说明: 可实现:构造树,插入,查找,删除. 通过模式的选择,可以插入值相等的点.但是不建议使用.
主要介绍了java中List对象排序通用方法,涉及java针对List对象的操作技巧,需要的朋友可以参考下
java中按找对象的某个属性进行升序降序的排序
java版本List中对象多属性排序.rar
小实例-实现对成绩总分由高到低的排序-Java中数组对象的排序