Source of GetDistinctIntegerSquares.java


  1: //GetDistinctIntegerSquares.java

  3: import java.util.ArrayList;
  4: import java.util.Arrays;
  5: import java.util.List;
  6: import java.util.stream.Collectors;

  8: public class GetDistinctIntegerSquares
  9: {
 10:     public static void main(String args[])
 11:     {
 12:         //We will produce a list of distinct squares of the integers
 13:         //in following list of integers:
 14:         List<Integer> integers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
 15:         System.out.println("\nList of integers: " + integers);

 17:         System.out.println("\n=============");
 18:         System.out.println("Using Java 7: ");

 20:         List<Integer> squaresList = new ArrayList<Integer>();
 21:         for (Integer integer : integers)
 22:         {
 23:             Integer square = integer * integer;
 24:             if (!squaresList.contains(square))
 25:             {
 26:                 squaresList.add(square);
 27:             }
 28:         }
 29:         System.out.println("Distinct integer squares: " + squaresList);

 31:         System.out.println("\n=============");
 32:         System.out.println("Using Java 8: ");
 33:         System.out.println
 34:         (
 35:             "Distinct integer squares: " + integers
 36:             .stream()
 37:             .map(i -> i * i)
 38:             .distinct()
 39:             .collect(Collectors.toList())
 40:         );
 41:     }
 42: }
 43: /*  Output:

 45:     List of integers: [3, 2, 2, 3, 7, 3, 5]

 47:     =============
 48:     Using Java 7:
 49:     Distinct integer squares: [9, 4, 49, 25]

 51:     =============
 52:     Using Java 8:
 53:     Distinct integer squares: [9, 4, 49, 25]
 54: */