package com.yl.container;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class Preson implements Comparable<Preson>
{
private Integer id; //行
private String name; //名字
private Integer preifx; //号段
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getPreifx() {
return preifx;
}
public void setPreifx(Integer preifx) {
this.preifx = preifx;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int compareTo(Preson op)
{
if(this.getPreifx().compareTo(op.getPreifx())>0)
{
return 1;
}
if(this.getPreifx().compareTo(op.getPreifx())<0)
{
return -1;
}
if(this.getId().compareTo(op.getId())>0)
{
return 1;
}
if(this.getId().compareTo(op.getId())<0)
{
return -1;
}
return 0;
}
@SuppressWarnings("unchecked")
public static void main(String[] args)
{
List<Preson> list = new ArrayList<Preson>();
Preson p1 = new Preson();
Preson p2 = new Preson();
Preson p3 = new Preson();
Preson p4 = new Preson();
Preson p5 = new Preson();
Preson p6 = new Preson();
Preson p7 = new Preson();
Preson p8 = new Preson();
Preson p9 = new Preson();
Preson p10 = new Preson();
//装数据
p1.setId(new Integer(1));
p1.setPreifx(new Integer(1881654));
p1.setName("AAA");
p2.setId(new Integer(2));
p2.setPreifx(new Integer(1881154));
p2.setName("BBB");
p3.setId(new Integer(3));
p3.setPreifx(new Integer(1882354));
p3.setName("CCC");
p4.setId(new Integer(4));
p4.setPreifx(new Integer(1881624));
p4.setName("DDD");
p5.setId(new Integer(5));
p5.setPreifx(new Integer(1881654));
p5.setName("EEE");
p5.setId(new Integer(6));
p5.setPreifx(new Integer(1881654));
p5.setName("FFF");
p6.setId(new Integer(7));
p6.setPreifx(new Integer(1881884));
p6.setName("GGG");
p7.setId(new Integer(8));
p7.setPreifx(new Integer(1881884));
p7.setName("HHH");
p8.setId(new Integer(9));
p8.setPreifx(new Integer(1881984));
p8.setName("III");
p9.setId(new Integer(10));
p9.setPreifx(new Integer(1881624));
p9.setName("JJJ");
p10.setId(new Integer(11));
p10.setPreifx(new Integer(1881624));
p10.setName("KKK");
//装对象
list.add(p1);list.add(p2);list.add(p3);list.add(p4);list.add(p5);list.add(p6);list.add(p7);list.add(p8);list.add(p9);list.add(p10);
//排序
Collections.sort(list);
for (int i = 0; i < list.size(); i++)
{
Preson p = (Preson)list.get(i);
System.out.println("按PREFIX和ID排序:第 "+(i+1)+" 个对象");
System.out.println("行号:"+p.getId());
System.out.println("名字:"+p.getName());
System.out.println("号段:"+p.getPreifx());System.out.println();
}
HashMap<Integer, String> map = new HashMap<Integer, String>();
for (int i = 0; i < list.size(); i++)
{
if((i+1)<list.size())
{
Preson pi1 = (Preson)list.get(i);
Preson pi2 = (Preson)list.get(i+1);
if(pi1.getPreifx().equals(pi2.getPreifx()))
{
String line = "号段:"+pi1.getPreifx()+",在第 "+pi1.getId()+" 行和第 "+pi2.getId()+"行重复!";
map.put(pi1.getId(), line);
}
}
}
Set set = map.keySet();
List<Integer> alist = new ArrayList<Integer>();
for (Iterator s = set.iterator(); s.hasNext();)
{
Integer is = (Integer) s.next();
alist.add(is);
}
Collections.sort(alist);
for (int j = 0; j < alist.size(); j++)
{
Integer is = (Integer)alist.get(j);
String line = map.get(is);
System.out.println(line);
}
}
}
分享到:
相关推荐
天才之作:通过泛型,对List中对象多属性排序,支持设置各属性排序方式(动态属性),看了之后绝对让你震撼!
js对象属性排序
java版本List中对象多属性排序.rar
在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:
按所推荐的程序在IE下跑了下,的确,排序耗时很小。 代码如下: [removed] /* * 洗牌 */ function ... /* * 快速排序,按某个属性,或按“获取排序依据的函数”,来排序. * @method soryBy * @static * @
主要介绍了Java实现储存对象并按对象某属性排序的几种方法,结合实例形式详细分析了Java储存对象并按对象某属性排序的具体实现方法与操作注意事项,需要的朋友可以参考下
对List集合中 对象属性排序,不需要在每个实体类中重写Sort方法,实现了代码的重用。非常好用的Util类
可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组
NULL 博文链接:https://anxingyu.iteye.com/blog/414927
Java 对象属性map排序示例
NULL 博文链接:https://uule.iteye.com/blog/765832
主要介绍了JS实现json对象数组按对象属性排序操作,涉及javascript使用sort方法针对json数组的遍历与排序相关操作实现技巧,需要的朋友可以参考下
主要介绍了JavaScript对象数组如何按指定属性和排序方向进行排序的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
根据对象一个或多个属性将对象进行综合排序,可进行逆序,也可进行顺排序,若第一个属性相同,则进行第二个属性进行排序,最好得到最后的结果
主要介绍了python实现对象列表根据某个属性排序的方法,结合具体实例形式详细分析了Python对象列表遍历、排序的两种常见操作技巧,需要的朋友可以参考下
给出了排序函数的定义,这是通用的,还给出了按照某一属性进行排序的用法。适用于对象数组。
主要介绍了Java实现对象按照其属性排序的两种方法,结合实例形式详细分析了Java对象按照其属性排序的两种实现方法与相关注意事项,需要的朋友可以参考下