Advertisement
EBobkunov

lambda & regex function

Mar 11th, 2023
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.33 KB | Source Code | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Random;
  3.  
  4. public class Regulars {
  5.     public static void main(String[] args) {
  6.         ArrayList<String> nya = new ArrayList<>();
  7.         // fill list with random strings containing both letters and numbers
  8.         Random random = new Random();
  9.         for (int i = 0; i < 10; i++) {
  10.             StringBuilder sb = new StringBuilder();
  11.             for (int j = 0; j < 10; j++) {
  12.                 if (random.nextBoolean()) {
  13.                     sb.append((char) (random.nextInt(26) + 'a'));
  14.                 } else {
  15.                     sb.append((char) (random.nextInt(10) + '0'));
  16.                 }
  17.             }
  18.             nya.add(sb.toString());
  19.         }
  20.         // duplicate values and add in the same list
  21.         for (int i = 0; i < 10; i++) {
  22.             nya.add(nya.get(random.nextInt(nya.size())));
  23.         }
  24.  
  25.         //nya.forEach(System.out::println);
  26.  
  27.         // using lambda expressions print sorted all non-empty unique strings that contain only letter
  28.         nya.stream()
  29.                 //regex to delete nums
  30.                 .map(x -> x.replaceAll("[0-9]", ""))
  31.                 .filter(x -> !x.isEmpty())
  32.                 .distinct()
  33.                 .filter(x -> x.matches("[a-z]+"))
  34.                 .sorted()
  35.                 .forEach(System.out::println);
  36.  
  37.  
  38.     }
  39.  
  40. }
Tags: regex lambda
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement