Java Streams Challenge: Missing Numbers & String Grouping

50 Days of Java Streams Challenge – Day 5 & Day 6 Consistency is building confidence. Here are two new problems solved using Stream API 👇 ✅ Day 5: Find Missing Numbers Between Min and Max Given an unsorted list, find numbers missing between smallest and largest. List<Integer> numbers = Arrays.asList(10, 14, 19); int min = numbers.stream().min(Integer::compare).get(); int max = numbers.stream().max(Integer::compare).get(); List<Integer> missingNumbers = IntStream.rangeClosed(min, max) .filter(n -> !numbers.contains(n)) .boxed() .collect(Collectors.toList()); System.out.println(missingNumbers); 📌 Output: [11, 12, 13, 15, 16, 17, 18] 🔎 Concepts Used: min() & max() IntStream.rangeClosed() filter() boxed() ✅ Day 6: Group Strings by Their Length A good question to test understanding of groupingBy. List<String> words = Arrays.asList("Java", "Code", "Stream", "API", "Spring"); Map<Integer, List<String>> groupedByLength = words.stream() .collect(Collectors.groupingBy(String::length)); System.out.println(groupedByLength); 📌 Sample Output: {3=[API], 4=[Java, Code], 6=[Stream, Spring]} 🔎 Concepts Used: groupingBy() #Java #JavaStreams #CodingChallenge #BackendDeveloper #InterviewPreparation #LearningInPublic

To view or add a comment, sign in

Explore content categories