zoukankan      html  css  js  c++  java
  • Java 去除 ArrayList 集合中的重复元素

    // One practice
    package Collection;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    // 去除 ArrayList 集合中的重复元素
    public class ArrayListTest
    {
    	public static void sop(Object obj)
    	{
    		System.out.println(obj);
    	}
    	
    	public static void main(String[] args)
    	{
    		ArrayList<String> arrayList = new ArrayList<String>();
    		
    		arrayList.add("java01");
    		arrayList.add("java02");
    		arrayList.add("java03");
    		arrayList.add("java04");
    		arrayList.add("java01");
    		arrayList.add("java02");
    		arrayList.add("java03");
    		
    		sop(arrayList);
    		arrayList = singleElement(arrayList);
    		sop(arrayList);
    		
    	}
    	
    	public static ArrayList<String> singleElement(ArrayList<String> al)
    	{
    		// 定义一个临时容器
    		ArrayList newAl = new ArrayList();		
    		Iterator iterator = al.iterator();
    		while (iterator.hasNext())
    		{
    			Object obj = iterator.next();
    			if (!newAl.contains(obj))
    			{
    				newAl.add(obj);
    			}
    		}
    		return newAl;
    	}
    }
    
    // Practice Two
    
    package Collection;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    
    // 将自定义对象作为元素存到 ArrayList 集合中,并去除重复元素
    // 比如:存人对象。同姓名同年龄,视为同一个人。为重复元素
    
    /*
    1.对人描述,将数据封装进入对象
    2.定义容器,将人存入
    3.取出
    
    List集合判断元素是否相同,依据是元素的 equals 方法。
    */
    
    class Person
    {
    	private String name;
    	private int age;
    	Person(String name,int age)
    	{
    		this.name = name;
    		this.age = age;
    	}
    	// 重写 equals 方法
    	public boolean equals(Object obj)
    	{
    		if (!(obj instanceof Person))
    		{
    			return false;
    		}
    		Person person = (Person)obj;
    		return this.name.equals(person.name) && this.age == person.age;
    	}
    	
    	public String getname()
    	{
    		return name;
    	}
    	public int getage()
    	{
    		return age;
    	}
    	
    }
    
    
    public class ArrayListTest2
    {
    	public static void sop(Object obj)
    	{
    		System.out.println(obj);
    	}
    	
    	public static void main(String[] args)
    	{
    		ArrayList al = new ArrayList();
    		al.add(new Person("Xp01", 30));
    		al.add(new Person("Xp02", 35));
    		al.add(new Person("Xp02", 35));
    		al.add(new Person("Xp03", 37));
    		al.add(new Person("Xp04", 35));
    		al.add(new Person("Xp04", 35));
    		
    		al = singleElement(al);
    		
    		Iterator it = al.iterator();
    		
    		while (it.hasNext())
    		{
    			Person p = (Person)it.next();
    			sop(p.getname()+"::"+p.getage());
    		}
    	}
    	
    	public static ArrayList singleElement(ArrayList<String> al)
    	{
    		// 定义一个临时容器
    		ArrayList newAl = new ArrayList();		
    		Iterator iterator = al.iterator();
    		while (iterator.hasNext())
    		{
    			Object obj = iterator.next();
    			if (!newAl.contains(obj))
    			{
    				newAl.add(obj);
    			}
    		}
    		return newAl;
    	}
    }
    

      

      

  • 相关阅读:
    Java——GUI
    linux变量
    shell脚本
    linux查找文件命令
    composer的安装
    restful的nginx配置方法
    api调用安全
    PHP设置Cookie的HTTPONLY属性
    php的异常处理
    php错误报告
  • 原文地址:https://www.cnblogs.com/IamJiangXiaoKun/p/4653592.html
Copyright © 2011-2022 走看看