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去除重复对象的简单实例全部内容了,希望大家多多支持脚本之家~

相关文章

  • Spring Boot实战之逐行释义Hello World程序

    Spring Boot实战之逐行释义Hello World程序

    spring boot 是基于Spring的一个框架,Spring boot帮我们集成很多常用的功能,使得整个配置更加简单。这篇文章主要介绍了Spring Boot实战之逐行释义Hello World,需要的朋友可以参考下
    2017-12-12
  • IDEA中使用Typora编辑md文件的方法

    IDEA中使用Typora编辑md文件的方法

    这篇文章主要介绍了IDEA中使用Typora编辑md文件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java实战员工绩效管理系统的实现流程

    Java实战员工绩效管理系统的实现流程

    只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+Mysql+Maven+HTML实现一个员工绩效管理系统,大家可以在过程中查缺补漏,提升水平
    2022-01-01
  • java list常用方法总结

    java list常用方法总结

    这篇文章主要介绍了java list常用方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Java使用selenium爬取b站动态的实现方式

    Java使用selenium爬取b站动态的实现方式

    本文主要介绍了Java使用selenium爬取b站动态的实现方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • java查找图中两点之间所有路径

    java查找图中两点之间所有路径

    这篇文章主要为大家详细介绍了java查找图中两点之间所有路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • idea编译器工程out目录修改方法步骤

    idea编译器工程out目录修改方法步骤

    多个工程在一个文件夹下,有时会变为所有的工程只用一个out文件夹,这时运行会出错,所以本文就来介绍一下out目录修改,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 聊一聊Java的JVM类加载机制

    聊一聊Java的JVM类加载机制

    这篇文章主要介绍了聊一聊Java的JVM类加载机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • maven的pom.xml中repositories和distributionManagement使用

    maven的pom.xml中repositories和distributionManagement使用

    这篇文章主要介绍了maven的pom.xml中repositories和distributionManagement使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Java基础之常用的命令行指令

    Java基础之常用的命令行指令

    这篇文章主要介绍了Java基础之常用的命令行指令,文中有非常详细的图文示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04

最新评论