欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

ArrayList中实现内容不重复,arraylist内容重复

来源: javaer 分享于  点击 40843 次 点评:202

ArrayList中实现内容不重复,arraylist内容重复


package aggregate;

public class PersonDemo {
	private String name;
	private int age;
	

	public PersonDemo(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}


	public static void main(String[] args) {

	}
	public String toString()
	{
		
		return this.getName()+","+this.getAge() ;
		
	}
	public boolean equals(Object obj) {
		PersonDemo p=(PersonDemo)obj;//需要通过自定义的类中的元素来进行判断,所以要进行向下转型的操作,在此之前可能还需要进行健壮性的判断
		return this.name .equals(p.name) && this.age==p.age;
	}

}
package aggregate;

import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListDemo {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList a=new ArrayList();
		
		a.add(new PersonDemo("jack",20));
		a.add(new PersonDemo("jack1",21));
		a.add(new PersonDemo("jack2",22));
		a.add(new PersonDemo("jack1",21));
		System.out.println(a.toString());
		
		a=get(a);
		System.out.println(a.toString());

		
	}
	public static ArrayList get(ArrayList s) {//主要思想为创建一个Array List容器来存储
		ArrayList temp= new ArrayList();
		Iterator i=s.iterator();
		
		while(i.hasNext()) {
			Object obj=i.next();
			if(!temp.contains(obj))//contains判断是否在里面是通过equals方法来判断的,因为ArrayList中的equals无法对自定义的类进行判断,所以我们要对equals方法进行复写
			{
				temp.add(obj);
				}
			}	
		return  temp;
	}
}

 

 

 

相关文章

    暂无相关文章

用户点评