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.
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]
1 Comments
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