ArrayList 去除重复元素

摘要:
importjava.util.*;classArrayListDemo{publicstaticvoidmain(String[]args){ArrayListarr=newArrayList();arr.add(“java01”);arr.add(“java 01”)
import java.util.*;
class ArrayListDemo
{
    public static void main(String[] args)
    {
        ArrayList arr=new ArrayList();
        arr.add("java01");
        arr.add("java01");
        arr.add("java02");
        arr.add("java03");
        arr.add("java01");
        arr.add("java05");
        sop(arr);
        arr=SingleElement(arr);    
        sop(arr);
    }
    public static ArrayList SingleElement(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);
    }
}

去除重复的对象 除非名字和姓名不一样 才可以存入

import java.util.*;
class ArrayListDemo
{
    public static void main(String[] args)
    {
        ArrayList arr=new ArrayList();
        arr.add(new person("01",22));
        arr.add(new person("02",22));
        arr.add(new person("01",22));
        arr.add(new person("02",22));
        arr.add(new person("01",22));
        arr=SingleElement(arr);
        Iterator it=arr.iterator();
        while(it.hasNext())
        {
            person obj=(person)it.next();
            System.out.println(obj.getName()+" "+obj.getAge());
        }
    }
    public static ArrayList SingleElement(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);
    }
}
class person
{
    private String name;
    private int age;
    person(String name,int age)
    {
        this.name=name;
        this.age=age;
    }
    public String getName()
    {
        return name;
    }
    public int getAge()
    {
        return 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;
    }
}

免责声明:文章转载自《ArrayList 去除重复元素》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何理解 Java 多线程Sublime Text 3 LESS、SASS、SCSS高亮插件、提示插件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何解决线程安全问题

转自:https://www.cnblogs.com/dolphin0520/p/3923737.html 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。   以下是本文的...

C# 通过反射实现复杂对象的深拷贝(附源码)

背景   在C#中我们很多时候需要对一个对象进行深拷贝,当然如果已知当前对象类型的时候我们当然可以通过创建新对象逐一进行赋值的方式来进行操作,但是这种操作非常繁琐而且如果你在做一个顶层框架的时候要实现这样一个功能,并且深拷贝的方式复制的对象是一个object类型,这个时候这个方式就不再适用了,可能还有很多说可以通过序列化和反序列化的方式进行对象的深拷贝但还...

[Java 学习笔记] 泛型

目录 泛型的向上转型 将静态方法的泛型类型和实例类型的泛型类型区分开 多泛型类 java可以创建泛型数组(待完善) Java实现泛型的方法——擦拭法 由此,Java泛型的局限也体现出来 泛型继承(loading) 通配符(loading) 泛型与反射(loading) 总结自廖雪峰老师的Java教程: Java教程 - 廖雪峰的官方网站 (liaoxue...

Java泛型讲解

1. 概述在引入泛型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。引入范型后,一个复杂类型就可以在细分成更多的类型。例如原先的类型List,现在在细分成List<Object>, List<String>等更多的类型。注意,现在List<Object>, List<String>是两种不...

java 增强for循环与泛型

一 增强for循环   增强for循环是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部 原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。 格式: for(元素的数据类型 变量 : Collection集合or数组){ }   它用于遍历Collection和数组。通常只进行遍历元素,不要...

java容器类

一、  容器类: 下图摘自《Java编程思想》,很好地展示了整个容器类的结构。     由上图可知,容器类库可分为两大类,各自实现了Collection接口和Map接口,下面就常见的类进行一下分类: 实现Collection接口的容器类 Collection  ├List  │├LinkedList  │├ArrayList  │└Vector  │ └S...