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

 更新时间:2017年01月12日 09:35:20   投稿:jingxian  
下面小编就为大家带来一篇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去除重复对象的简单实例全部内容了,希望大家多多支持脚本之家~

相关文章

  • java 使用Graphics2D在图片上写字

    java 使用Graphics2D在图片上写字

    这篇文章主要介绍了java 使用Graphics2D在图片上写字,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • JVM内置函数Intrinsics介绍

    JVM内置函数Intrinsics介绍

    这篇文章主要介绍了JVM内置函数Intrinsics,我们将学习什么是intrinsics(内部/内置函数),以及它们如何在Java和其他基于JVM的语言中工作,需要的朋友可以参考一下
    2022-02-02
  • java后台接受到图片后保存方法

    java后台接受到图片后保存方法

    在本篇文章里小编给大家整理了关于java后台接受到图片后怎么保存的相关知识点,需要的朋友们参考学习下。
    2019-06-06
  • Spring MVC温故而知新系列教程之请求映射RequestMapping注解

    Spring MVC温故而知新系列教程之请求映射RequestMapping注解

    这篇文章主要介绍了Spring MVC温故而知新系列教程之请求映射RequestMapping注解的相关知识,文中给大家介绍了RequestMapping注解提供的几个属性及注解说明,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • 教你使用IDEA搭建spring源码阅读环境的详细步骤

    教你使用IDEA搭建spring源码阅读环境的详细步骤

    这篇文章主要介绍了使用IDEA搭建spring源码阅读环境的详细步骤,本文分两步通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • SpringBoot整合邮件发送的四种方法

    SpringBoot整合邮件发送的四种方法

    这篇文章主要介绍了SpringBoot整合邮件发送的四种方法,SpringBoot中集成了发送邮件的功能,本文做了进一步优化,需要的朋友可以参考下
    2023-03-03
  • 基于Feign使用okhttp的填坑之旅

    基于Feign使用okhttp的填坑之旅

    这篇文章主要介绍了基于Feign使用okhttp的填坑之旅,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 快速入门介绍Java中强大的String.format()

    快速入门介绍Java中强大的String.format()

    这篇文章主要给大家介绍了如何快速入门介绍Java中强大的String.format()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • 从零开始SSM搭建步骤(图文)

    从零开始SSM搭建步骤(图文)

    这篇文章主要介绍了从零开始SSM搭建步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 本真的REST架构风格理解

    本真的REST架构风格理解

    这篇文章主要为大家介绍了本真的REST架构风格的深入理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03

最新评论