java例程练习(Iterator)

import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;


public class Test {
	public static void main(String[] args) {
		Collection<Name> c = new HashSet<Name>();
		c.add(new Name("f1", "l1"));
		c.add(new Name("f2", "l2"));
		c.add(new Name("f3", "l3"));
		
		Iterator<Name> i = c.iterator();
		while(i.hasNext()) {
			Name n = (Name)i.next();
			System.out.println(n.getFirstName() + " ");
		}
		
		Collection<Name> c1 = new HashSet<Name>();
		c1.add(new Name("fff1", "lsss1"));
		c1.add(new Name("g2", "l2"));
		c1.add(new Name("fggf3", "lfgfg3"));
		
		for(Iterator<Name> j = c1.iterator();j.hasNext();) {
			Name name = (Name)j.next();
			if(name.getFirstName().length() < 3) {
				j.remove();
			}
		}
		
		System.out.println(c);
		System.out.println(c1);
		
	}
}

class Name {
	private String firstName;
	private String lastName;
	
	Name(String firstName, String lastName) {
		this.setFirstName(firstName);
		this.setLastName(lastName);
	}
	
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	
	public String getFirstName() {
		return firstName;
	}
	
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	
	public String getLastName() {
		return lastName;
	}
	
	public String toString() {
		return firstName + " " + lastName;
	}
	
	public boolean equals(Object obj) {
		if(obj instanceof Name) {
			Name name = (Name) obj;
			return (firstName.equals(name.firstName)) && 
				   (lastName.equals(name.lastName));
		}
		return super.equals(obj);
	}
	
	public int hashCode() {
		return firstName.hashCode();
	}
}

posted on 2012-05-01 10:27  Yours风之恋  阅读(186)  评论(0编辑  收藏  举报