package test;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Test5 {
public static int value = 100;
public static int[] arrays = new int[]{1,2,4,5,6,7,8,9,10,11,12,13,20,40,60,67,80,99,100};
public static void main(String[] args){
long a = System.currentTimeMillis();
method2();
System.out.println(System.currentTimeMillis()-a);
}
public static void method1(){
Set<Integer> duplicateValue = new HashSet<Integer>();
int searchValue ;
for(int i = 0 ; i< arrays.length ; i++){
searchValue = value-arrays[i];
if(duplicateValue.contains(arrays[i])){
continue;
}
if(Arrays.binarySearch(arrays, searchValue)>=0){
duplicateValue.add(searchValue);
System.out.println(arrays[i]+":"+searchValue);
}
}
}
public static void method2(){
Set<Integer> arraysSet = new HashSet<Integer>();
Set<Integer> duplicateSet = new HashSet<Integer>();
for(int i = 0; i<arrays.length;i++){
arraysSet.add(arrays[i]);
}
for(int i = 0; i<arrays.length;i++){
int resetValue = value-arrays[i];
if(duplicateSet.contains(arrays[i])){
continue;
}
if(arraysSet.contains(resetValue)){
duplicateSet.add(resetValue);
System.out.println(arrays[i]+":"+resetValue);
}
}
}
}