/Users/petercappello/NetBeansProjects/56-2014/56-2014-L7/src/Pair.java
/**
 * A pair of objects, not necessarily of the same type.
 * @author Peter Cappello
 * @param <F> type of 1st element of pair
 * @param <S> type of 2nd element of pair
 */
public class Pair<F, S>
{
    private F first;
    private S second;
    
    public F getFirst() { return first; }
    
    public S getSecond() { return second; }
    
    public void setFirst( F first ) { this.first = first; }
    
    public void setSecond( S second ) { this.second = second; }
    
    public static void main( String[] args )
    {
        Pair<String, Integer> pair = new Pair<>();
        pair.setFirst( "One" );
        pair.setSecond( 2 );
        System.out.println( "pair.getFirst() " + pair.getFirst() );
        System.out.println( "pair.getSecond() " + pair.getSecond() );
        
        Pair<Double, Integer[]> pair2 = new Pair<>();
        pair2.setFirst( Math.PI );
        pair2.setSecond( new Integer[]{ 4, 5, 6 } );
        System.out.println( "pair2.getFirst() " + pair2.getFirst() );
        for ( Integer integer : pair2.getSecond() )
        {
            System.out.println( "" + integer );
        }
    }
}