java 集合 唯一_Java ArrayList集合 数据唯一性

importjava.util.*;publicclassTest4{publicstaticvoidmain(String[]args){Listlist=newArrayList();list.add(newPerson4("aa",54));list.add(newPerson4("cc",44)...

import java.util.*;

public class Test4 {

public static void main(String[] args)

{

List list = new ArrayList();

list.add(new Person4("aa", 54));

list.add(new Person4("cc", 44));

list.add(new Person4("bb", 70));

list.add(new Person4("bb", 70));

list.add(new Person4("ab", 70));

Collections.sort(list,new Comparator()

{

@Override

public int compare(Person4 p1, Person4 p2)

{

int num = new Integer(p1.getAge()).compareTo(new Integer(p2.getAge()));

if(num == 0)

return p1.getName().compareTo(p2.getName());

return num;

}

});

for(Person4 p : list)

System.out.println(p);

}

}

class Person4 implements Comparable

{

private String name;

private int age;

Person4(String name,int age)

{

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public int getAge() {

return age;

}

public String toString()

{

return name+" "+age;

}

public int hashCode()

{

return this.name.hashCode()+age*17;

}

public boolean equals(Object obj)

{

if((obj instanceof Person1))

throw new RuntimeException("类型不匹配");

Person4 p = (Person4)obj;

return this.name.equals(p.name) && this.age == p.age;

}

@Override

public int compareTo(Person4 p)

{

int num = new Integer(this.age).compareTo(new Integer(p.age));

if(num == 0)

return this.name.compareTo(p.name);

return num;

}

}

我现在输出来 同名用年龄的也一起输出来了

怎么样确保唯一性呢

不借助 HashMap 和TreeMap 可以吗

要是可以请告诉在下怎么写 谢谢啊

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值