Working Answer ...
import java.util.ArrayList ;
import java.util.HashMap ;
public class findpair {
public static void main (String [] args) {
int [] array = new int [] { 1,6,4,2,6,2,3,4,5,1,6,7,8,3,4 } ;
for ( int ii : array) { System.out.print( ii+" " ); } System.out.println();
pairPrint( array, 10 ) ;
}
private static void pairPrint ( int [] array , int value) {
HashMap > map = new HashMap > ( array.length ) ;
int counter = 0;
for ( int ii : array ) {
/// If we find a match we add it and print the pairs
if ( map.containsKey(ii) ) { for ( Integer jj : map.get(ii) ) { System.out.println( " Pair at " + counter + " + " + jj ) ; }}
// Add it to the map
if ( map.containsKey(value-ii) ) { map.get(value-ii).add(counter) ; }
else { ArrayList list = new ArrayList(); list.add(counter ); map.put(value-ii , list) ; }
counter++ ;
}
}
}