java去除重复对象_java去除重复对象的简单实例

实例如下:

import java.util.*;

class Person {

private String name;

private int age;

Person(String name,int age){

this.name=name;

this.age=age;

}

public boolean equals(Object obj){

if(!(obj instanceof Person))

return false;

Person p=(Person)obj;

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

}

public String getName(){

return name;

}

public int getAge(){

return age;

}

}

public class ArrayListTest2{

public static void main(String args[])

{

ArrayList al=new ArrayList();

al.add(new Person("zhangsan1",22));

al.add(new Person("zhangsan2",33));

al.add(new Person("zhangsan3",44));

al.add(new Person("zhangsan5",88));

al.add(new Person("zhangsan4",55));

al.add(new Person("zhangsan1",22));

//al.add(new Person("zhangsan3",44));

al = singelElements(al);

Iterator it1=al.iterator();

while(it1.hasNext()){

Person p=(Person)it1.next();

sop(p.getName()+"..."+p.getAge());

}

/*Iterator it=al.iterator();

while(it.hasNext()){

Person p= (Person)it.next();//将其强制转化为person类型 可以实现后边的输入否则不能调用getAge()和getName()方法

sop(p.getName()+"..."+p.getAge());

}*/

}

public static ArrayList singelElements(ArrayList al){

ArrayList newal=new ArrayList();

Iterator it=al.iterator();

while(it.hasNext()){

Object obj=it.next();

if(!newal.contains(obj))

newal.add(obj);

}

return newal;

}

public static void sop(Object obj){

System.out.println(obj);

}

}

解题思路:创建一个临时容器ArrayList来存储不重复的对象。通过两次使用迭代器将对象取出从而输入不重复的对象。

这里需要注意到在Person类中需要定义一个equals方法来比较是否有相同的元素。其中instance的用法是判断对象是否属于该类如果属于则返回true否则返回false.

注意Java编程中ArrayLis等容器中调用contains以及remove方法时候都会调用equals方法。这是一个很多人都不注意的知识点。

以上就是小编为大家带来的java去除重复对象的简单实例全部内容了,希望大家多多支持脚本之家~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值