
public class Pair<E> {
	
	private E first;
	private E second;
	
	public Pair(E f, E s) {
		first = f;
		second = s;
	}
	
	public Pair() {
		this(null, null);
	}
	
	public  E getFirst() {
		return first;
	}
	
	public void setFirst(E data) {
		first = data;
	}
	
	public E getSecond() {
		return second;
	}
	
	public void setSecond(E data) {
		second = data;
	}
	
	public void flip() {
		E temp;
		temp = first;
		first = second;
		second = temp;
	}
	
	public String toString() {
		return String.format( "(%s, %s)", first, second);
	}
	
	public static void main(String[] args) {
		Pair<Integer> p1 = new Pair<Integer>(23, 45);
		Pair<Person> p2 = new Pair<Person>();
		p2.setFirst(new Person("bob"));
		p2.setSecond(new Person("fred"));
		System.out.println(p1);
		System.out.println(p2);

	}

}
