A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© franksight 高级黑马   /  2015-2-27 23:43  /  829 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码分享:
  1. package example;
  2. import java.util.*;

  3. public class QuChong2
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 ArrayList al=new ArrayList();
  8.                 al.add(new Person("zhangsan1",20));
  9.                 al.add(new Person("zhangsan2",22));
  10.                 al.add(new Person("zhangsan3",21));
  11.                 al.add(new Person("zhangsan2",20));
  12.                 al.add(new Person("zhangsan3",21));
  13.                
  14.                 al=(ArrayList) singleElement(al);//去重元素
  15.                 Iterator it=al.iterator();
  16.                 //迭代取出元素
  17.                 while(it.hasNext())
  18.                 {
  19.                         Person p=(Person) it.next();
  20.                         System.out.println(p.getName()+"..."+p.getAge());
  21.                 }
  22.         }
  23.        
  24.         //去重元素
  25.         public static List singleElement(ArrayList al)
  26.         {
  27.                 ArrayList newAl=new ArrayList();
  28.                 Iterator it=al.iterator();
  29.                
  30.                 while(it.hasNext())
  31.                 {
  32.                         Object obj=it.next();
  33.                         if(!newAl.contains(obj))
  34.                                 newAl.add(obj);
  35.                 }
  36.                 return newAl;
  37.         }

  38. }
  39. class Person
  40. {
  41.         private String name;
  42.         private int age;
  43.         Person(String name,int age)
  44.         {
  45.                 this.name=name;
  46.                 this.age=age;
  47.         }
  48.         public String getName()
  49.         {
  50.                 return name;
  51.         }
  52.         public int getAge()
  53.         {
  54.                 return age;
  55.         }       
  56.         //复写equals方法,比较Person的姓名和年龄
  57.         public boolean equals(Object obj)
  58.         {
  59.                 if(!(obj instanceof Person))
  60.                         return false;
  61.                 Person p=(Person) obj;
  62.                 return this.name.equals(p.name) && this.age==p.age;
  63.         }
  64.        
  65. }
复制代码






1 个回复

倒序浏览
谢谢分享!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马