List或者arraylist去掉重复数据(对象也可以)

法:将list或者arraylist中的数据加载到linkedhashset中  然后在加载到list或者arraylist中


测试用例如下:

  1. public class TestSet {  
  2.   
  3.     public static void main(String[] args) {  
  4.         List<Student> list1 = new ArrayList<Student>();  
  5.         list1.add(new Student("张三","12"));  
  6.         list1.add(new Student("张三","12"));  
  7.         list1.add(new Student("李四","12"));  
  8.         list1.add(new Student("王五","15"));  
  9.         list1.add(new Student("张三","12"));  
  10.         list1.add(new Student("张三","13"));  
  11.         System.out.println(list1.toString());  
  12.         Set<Student> set = new LinkedHashSet<Student>();  
  13.                 set.addAll(list1);  
  14.                 List<Student> list2 = new ArrayList<Student>();  
  15.                 list2.addAll(set);  
  16.                 System.out.println(list2.toString());  
  17.     }  
  18.   
  19. }  


对象:

  1. public class Student {  
  2.   
  3.     String name;  
  4.     String age;  
  5.     public String getName() {  
  6.         return name;  
  7.     }  
  8.     public void setName(String name) {  
  9.         this.name = name;  
  10.     }  
  11.     public String getAge() {  
  12.         return age;  
  13.     }  
  14.     public void setAge(String age) {  
  15.         this.age = age;  
  16.     }  
  17.     @Override  
  18.     public int hashCode() {  
  19.         final int prime = 31;  
  20.         int result = 1;  
  21.         result = prime * result + ((age == null) ? 0 : age.hashCode());  
  22.         result = prime * result + ((name == null) ? 0 : name.hashCode());  
  23.         return result;  
  24.     }  
  25.     @Override  
  26.     public boolean equals(Object obj) {  
  27.         if (this == obj)  
  28.             return true;  
  29.         if (obj == null)  
  30.             return false;  
  31.         if (getClass() != obj.getClass())  
  32.             return false;  
  33.         Student other = (Student) obj;  
  34.         if (age == null) {  
  35.             if (other.age != null)  
  36.                 return false;  
  37.         } else if (!age.equals(other.age))  
  38.             return false;  
  39.         if (name == null) {  
  40.             if (other.name != null)  
  41.                 return false;  
  42.         } else if (!name.equals(other.name))  
  43.             return false;  
  44.         return true;  
  45.     }  
  46.     @Override  
  47.     public String toString() {  
  48.         return "Student [name=" + name + ", age=" + age + "]";  
  49.     }  
  50.     public Student(String name, String age) {  
  51.         super();  
  52.         this.name = name;  
  53.         this.age = age;  
  54.     }  
  55.     public Student() {  
  56.         // TODO Auto-generated constructor stub  
  57.     }  
  58. }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值