public E putIfAbsent(int key,E value){
  if (value == null) {
    throw new NullPointerException();
  }
  E prev;
  if (array.length <= key) {
    array=Arrays.copyOf(array,key * 3 / 2 + 1);
    prev=null;
  }
 else {
    prev=(E)array[key];
  }
  if (prev == null) {
    array[key]=value;
    size++;
  }
  return prev;
}

public E putIfAbsent ( int key , E value ) { if ( value == null ) { throw new NullPointerException ( ) ; } E prev ; if ( array . length <= key ) { array = Arrays . copyOf ( array , key * 3 / 2 + 1 ) ; prev = null ; } else { prev = ( E ) array [ key ] ; } if ( prev == null ) { array [ key ] = value ; size ++ ; } return prev ; }
if the specified key is not already associated with a value associates it with the given value and returns null , else returns the current value .
