Find Words Containing Numbers in List using Java 8 | 7 Easy Stream Methods (Interview Ready)

 Hi All,


Today I have released new video on "Find Words Containing Numbers in List using Java 8".

This is frequently asked question in Java Interview.

Please watch full video, share, like and Subscribe youtube channel and press bell icon. So you will get latest video notification. 


Please click on below Image to view full explanation on below Youtube video .

Find Words Containing Numbers in List using Java 8 




package org.practice.basicprgms;


import java.util.Arrays;

import java.util.List;

import java.util.regex.Pattern;

import java.util.stream.Collectors;


public class FindDigitInString {


public static void main(String[] args) {

List<String> list = Arrays.asList("Java8", "Stream", "Code123", "Hello", "Test9", "World", "A1B2", "ChatGPT");

// 1. Using anyMatch

System.out.println("---------------Using anyMatch-------------------");

list.stream()

.filter(word -> word.chars().anyMatch(Character::isDigit))

.forEach(System.out::println);

// 2. Using matches()

System.out.println("---------------Using matches()-------------------");

list.stream()

.filter(word -> word.matches(".*\\d.*"))

.forEach(System.out::println);

// 3. Pattern Regex

System.out.println("---------------Pattern Regex-------------------");

Pattern pattern = Pattern.compile(".*\\d.*");

list.stream()

.filter(word -> pattern.matcher(word).matches())

.forEach(System.out::println);

// 4. Using split() abc123dc- Java8 Java 8

System.out.println("---------------Using split()-------------------");

list.stream()

.filter(word -> !word.equals(String.join("", word.split("\\d+"))))

.forEach(System.out::println);


// 5. Using chars() and Nested filter

System.out.println("---------------Using chars() and Nested filter-------------------");

list.stream()

.filter(word -> word.chars()

.filter(Character::isDigit)

.count() > 0)

.forEach(System.out::println);

// 6. Using toCharArray()

System.out.println("---------------Using toCharArray()-------------------");

list.stream()

.filter(word -> {

for(char c: word.toCharArray()) {

if(Character.isDigit(c))

return true;

}

return false;

}).forEach(System.out::println);

// 7. Using Collectors (Store Result in another list)

List<String> digitWords =

list.stream()

.filter(word -> word.matches(".*\\d.*"))

.collect(Collectors.toList());

System.out.println("Using Collectors "+ digitWords);


}


}


output:

---------------Using anyMatch-------------------

Java8

Code123

Test9

A1B2

---------------Using matches()-------------------

Java8

Code123

Test9

A1B2

---------------Pattern Regex-------------------

Java8

Code123

Test9

A1B2

---------------Using split()-------------------

Java8

Code123

Test9

A1B2

---------------Using chars() and Nested filter-------------------

Java8

Code123

Test9

A1B2

---------------Using toCharArray()-------------------

Java8

Code123

Test9

A1B2


Using Collectors [Java8, Code123, Test9, A1B2]


Post a Comment

1 Comments

  1. This is a very informative article for beginners who want to build strong Java fundamentals. A solid foundation is essential for becoming a good developer. You can explore Best Core JAVA Online Training in Hyderabad to gain practical knowledge.

    ReplyDelete