Showing posts with label Java 8. Show all posts
Showing posts with label Java 8. Show all posts

Saturday, June 22, 2019

Can you write the code for switch statements using enum in Java SE 8 ?

Problem statement:
Write a program for switch statements using enum in Java.
  1. enum APP {
  2.     Google, Yahoo, Apple, HP
  3. }
  4. public class SwitchStatement {
  5.     public static void main(String[] args) {
  6.         APP c = APP.Google;
  7.         switch (c) {
  8.             case Apple:
  9.                 System.out.println("You choose Apple.");
  10.                 break;
  11.             case Google:
  12.                 System.out.println("You choose Google.");
  13.                 break;
  14.             case Yahoo:
  15.                 System.out.println("You choose Yahoo.");
  16.                 break;
  17.             case HP:
  18.                 System.out.println("You choose HP.");
  19.                 break;
  20.             default:
  21.                 System.out.println("default");
  22.                 break;
  23.         }
  24.     }
  25. }
Output:
You choose Google.

what are the data types we cannot use in switch statement?

Problem statement:
what are the data types you cannot use as a parameter variable for switch statements in Java 8?

Following are the data types we cannot use as an input parameter variable for switch() statements.
  1. long
  2. float
  3. double
Error: Incompatible type found long, float and double.

public class SwitchStatement {
    public static void main(String[] args) {
        double d = 10.5d;
        switch (d) {
            case 10.5d:
                System.out.println("double");
                break;            
            default:
                System.out.println("default");
                break;
        }
    }
}
Error: Incompatible types. Found: 'double'

what are the data types we can use in switch statement?

Problem statement:
what are the data types you can use as a parameter variable for switch statements in Java 8?
Following are the data types we can use as an input parameter variable for switch() statements.
  1. byte
  2. short
  3. int
  4. char
Add-On:
  1. String 
  2. enum

Saturday, April 27, 2019

Which of the following is not the java 8 features?

Problem statement:
which of the following is not java 8 features?
  1. Stream API
  2. Lambda expression
  3. Serialization
  4. Spliterator
  5. Optional class
  6. Functional interfaces
Output: Serialization, it is not a feature of java 8

Thursday, June 28, 2018

Java 8 Stream API implementation

  1. import java.util.*;
  2. import java.util.stream.Collectors;

  3. public class TestExe1 {
  4. public static void main(String[] args) {

  5.         List<String> myList1 =
  6.                 Arrays.asList("a1", "a1","a1","a2", "b1", "c2", "c1");

  7.         List<String> teamIndia = Arrays.asList("i1", "i2", "i3");
  8.         List<String> teamAustralia = Arrays.asList("a1", "a2", "a3");
  9.         List<String> teamEngland = Arrays.asList("Alex", "Bell", "Broad");
  10.         List<String> teamNewZeland = Arrays.asList("Kane", "Nathan", "Vettori");
  11.         List<String> teamSouthAfrica = Arrays.asList("AB", "Amla", "Faf");
  12.         List<String> teamWestIndies = Arrays.asList("Sammy", "Gayle", "Narine");
  13.         List<String> teamSriLanka = Arrays.asList("Mahela", "Sanga", "Dilshan");
  14.         List<String> teamPakistan = Arrays.asList("Misbah", "Afridi", "Shehzad");

  15.         List<List<String>> playersInWorldCup2016 = new ArrayList<>();
  16.         playersInWorldCup2016.add(teamIndia);
  17.         playersInWorldCup2016.add(teamAustralia);
  18.         playersInWorldCup2016.add(teamEngland);
  19.         playersInWorldCup2016.add(teamNewZeland);
  20.         playersInWorldCup2016.add(teamSouthAfrica);
  21.         playersInWorldCup2016.add(teamWestIndies);
  22.         playersInWorldCup2016.add(teamSriLanka);
  23.         playersInWorldCup2016.add(teamPakistan);

  24. // Let's print all players before Java 8

  25. List<String> listOfAllPlayers = new ArrayList<>();
  26. for(List<String> team : playersInWorldCup2016){
  27. for(String name : team){
  28.                 listOfAllPlayers.add(name);
  29.             }
  30.         }
  31.         System.out.println("Players playing in world cup 2016");
  32.         System.out.println(listOfAllPlayers);

  33.         List<String> myList =
  34.                 Arrays.asList("a1", "a1","a1","a2", "b1", "c2", "c1");
  35. // Now let's do this in Java 8 using FlatMap

  36. List<String> flatMapList = playersInWorldCup2016.stream()
  37.                 .flatMap(x -> x.stream())
  38.                 .collect(Collectors.toList());

  39.         System.out.println("List of all Players using Java 8"); System.out.println(flatMapList);

  40.         myList
  41.                 .stream()
  42.                 .filter(s1 -> s1.startsWith("c"))
  43.                 .map(String::toUpperCase)
  44.                 .sorted()
  45.                 .skip(1)
  46.                 .forEach(System.out::println);

  47.         System.out.println("Using Java 7: ");

  48. // Count empty strings
  49. List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
  50.         System.out.println("List: " +strings);
  51. long count = getCountEmptyStringUsingJava7(strings);

  52.         System.out.println("Empty Strings: " + count);
  53.         count = getCountLength3UsingJava7(strings);

  54.         System.out.println("Strings of length 3: " + count);

  55. //Eliminate empty string
  56. List<String> filtered = deleteEmptyStringsUsingJava7(strings);
  57.         System.out.println("Filtered List: " + filtered);

  58. //Eliminate empty string and join using comma.
  59. String mergedString = getMergedStringUsingJava7(strings,", ");
  60.         System.out.println("Merged String: " + mergedString);
  61.         List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);

  62. //get list of square of distinct numbers
  63. List<Integer> squaresList = getSquares(numbers);
  64.         System.out.println("Squares List: " + squaresList);
  65.         List<Integer> integers = Arrays.asList(1,2,13,4,15,6,17,8,19);

  66.         System.out.println("List: " +integers);
  67.         System.out.println("Highest number in List : " + getMax(integers));
  68.         System.out.println("Lowest number in List : " + getMin(integers));
  69.         System.out.println("Sum of all numbers : " + getSum(integers));
  70.         System.out.println("Average of all numbers : " + getAverage(integers));
  71.         System.out.println("Random Numbers: ");

  72. //print ten random numbers
  73. Random random = new Random();

  74. for(int i = 0; i < 10; i++) {
  75.             System.out.println(random.nextInt());
  76.         }

  77.         System.out.println("Using Java 8: ");
  78.         System.out.println("List: " +strings);

  79.         count = strings
  80.                 .stream()
  81.                 .filter(v -> !(v.isEmpty()))
  82.                 .count();
  83.         System.out.println("Empty Strings: " + count);

  84.         count = strings.stream().filter(string -> string.length() == 3).count();
  85.         System.out.println("Strings of length 3: " + count);

  86.         filtered = strings.stream().filter(string ->!string.isEmpty()).collect(Collectors.toList());
  87.         System.out.println("Filtered List: " + filtered);

  88.         mergedString = strings.stream().filter(string ->!string.isEmpty()).collect(Collectors.joining(", "));
  89.         System.out.println("Merged String: " + mergedString);

  90.         squaresList = numbers.stream().map( i ->i*i).distinct().collect(Collectors.toList());
  91.         System.out.println("Squares List: " + squaresList);
  92.         System.out.println("List: " +integers);

  93.         IntSummaryStatistics stats = integers.stream().mapToInt((x) ->x).summaryStatistics();

  94.         System.out.println("Highest number in List : " + stats.getMax());
  95.         System.out.println("Lowest number in List : " + stats.getMin());
  96.         System.out.println("Sum of all numbers : " + stats.getSum());
  97.         System.out.println("Average of all numbers : " + stats.getAverage());
  98.         System.out.println("Random Numbers: ");

  99.         random.ints().limit(10).sorted().forEach(System.out::println);

  100. //parallel processing
  101. count = strings.parallelStream().filter(string -> string.isEmpty()).count();
  102.         System.out.println("Empty Strings: " + count);
  103.     }

  104. private static int getCountEmptyStringUsingJava7(List<String> strings) {
  105. int count = 0;

  106. for(String string: strings) {

  107. if(string.isEmpty()) {
  108.                 count++;
  109.             }
  110.         }
  111. return count;
  112.     }

  113. private static int getCountLength3UsingJava7(List<String> strings) {
  114. int count = 0;

  115. for(String string: strings) {

  116. if(string.length() == 3) {
  117.                 count++;
  118.             }
  119.         }
  120. return count;
  121.     }

  122. private static List<String> deleteEmptyStringsUsingJava7(List<String> strings) {
  123.         List<String> filteredList = new ArrayList<String>();

  124. for(String string: strings) {

  125. if(!string.isEmpty()) {
  126.                 filteredList.add(string);
  127.             }
  128.         }
  129. return filteredList;
  130.     }

  131. private static String getMergedStringUsingJava7(List<String> strings, String separator) {
  132.         StringBuilder stringBuilder = new StringBuilder();

  133. for(String string: strings) {

  134. if(!string.isEmpty()) {
  135.                 stringBuilder.append(string);
  136.                 stringBuilder.append(separator);
  137.             }
  138.         }
  139.         String mergedString = stringBuilder.toString();
  140. return mergedString.substring(0, mergedString.length()-2);
  141.     }

  142. private static List<Integer> getSquares(List<Integer> numbers) {
  143.         List<Integer> squaresList = new ArrayList<Integer>();

  144. for(Integer number: numbers) {
  145.             Integer square = new Integer(number.intValue() * number.intValue());

  146. if(!squaresList.contains(square)) {
  147.                 squaresList.add(square);
  148.             }
  149.         }
  150. return squaresList;
  151.     }

  152. private static int getMax(List<Integer> numbers) {
  153. int max = numbers.get(0);

  154. for(int i = 1;i < numbers.size();i++) {

  155.             Integer number = numbers.get(i);

  156. if(number.intValue() > max) {
  157.                 max = number.intValue();
  158.             }
  159.         }
  160. return max;
  161.     }

  162. private static int getMin(List<Integer> numbers) {
  163. int min = numbers.get(0);

  164. for(int i= 1;i < numbers.size();i++) {
  165.             Integer number = numbers.get(i);

  166. if(number.intValue() < min) {
  167.                 min = number.intValue();
  168.             }
  169.         }
  170. return min;
  171.     }

  172. private static int getSum(List numbers) {
  173. int sum = (int)(numbers.get(0));

  174. for(int i = 1;i < numbers.size();i++) {
  175.             sum += (int)numbers.get(i);
  176.         }
  177. return sum;
  178.     }

  179. private static int getAverage(List<Integer> numbers) {
  180. return getSum(numbers) / numbers.size();
  181.     }

How to run standalone mock server on local laptop

 Please download the standalone wiremock server from Direct download section at the bottom of the page.  Download and installation Feel fre...