当前位置: 首页 > 编程笔记 >

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

宋智明
2023-03-14
本文向大家介绍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去除重复对象的简单实例全部内容了,希望大家多多支持小牛知识库~

 类似资料:
  • 本文向大家介绍JS实现数组简单去重及数组根据对象中的元素去重操作示例,包括了JS实现数组简单去重及数组根据对象中的元素去重操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现数组简单去重及数组根据对象中的元素去重操作。分享给大家供大家参考,具体如下: js数组简单去重 结果: js数组根据对象中的元素去重 结果: PS:这里再为大家提供几款去重复工具供大家参考使用: 在线去除重

  • 本文向大家介绍JavaScript基于对象去除数组重复项的方法,包括了JavaScript基于对象去除数组重复项的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript基于对象去除数组重复项的方法。分享给大家供大家参考,具体如下: JavaScript中,去除数组重复项是一个很常用的函数,而且在面试中也很经常被提问到.很多人在面对这个问题的时候,一般都是采用多层for循环

  • 问题内容: 我有一个简单的问题要问,我有Product类,其中的字段如下: 我想根据ID从LinkedHasSet中删除重复项,例如,具有相同ID但数量不同的产品将被添加到集合中,我想删除(更新)具有相同ID的产品,并且它将通过我的对象的唯一ID进行操作要做到这一点? 例如,产品:id = 1,类别= CCTV,符号= TVC-DS,desc =简易摄像机,价格= 100.00, 数量= 1, 产

  • 本文向大家介绍js 两数组去除重复数值的实例,包括了js 两数组去除重复数值的实例的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇js 两数组去除重复数值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍JS简单实现数组去重的方法示例,包括了JS简单实现数组去重的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS简单实现数组去重的方法。分享给大家供大家参考,具体如下: 运行效果图如下: 出现的问题,新数组中值和index值对应。有局限性。虽然可以从小到大排列。 PS:这里再为大家提供几款去重复工具供大家参考使用: 在线去除重复项工具: http://tools.jb

  • 本文向大家介绍hashset去除重复值原理实例解析,包括了hashset去除重复值原理实例解析的使用技巧和注意事项,需要的朋友参考一下 Java中的set是一个不包含重复元素的集合,确切地说,是不包含e1.equals(e2)的元素对。Set中允许添加null。Set不能保证集合里元素的顺序。 在往set中添加元素时,如果指定元素不存在,则添加成功。也就是说,如果set中不存在(e==null?e