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);
}
}
}
对象按属性排序
最新推荐文章于 2024-03-20 18:02:48 发布