Add realizations
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
package ru.ilug.c5_char_frequency;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class CharFrequencyImpl implements CharFrequency {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Character, Integer> getCharFrequency(String text) {
|
||||||
|
return text.chars()
|
||||||
|
.mapToObj(c -> (char) c)
|
||||||
|
.collect(
|
||||||
|
Collectors.groupingBy(c -> c,
|
||||||
|
Collectors.collectingAndThen(Collectors.toList(), List::size)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,13 +6,13 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
public class MainTest {
|
public class MainTest {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
CharFrequency charFrequency = null;
|
CharFrequency charFrequency = new CharFrequencyImpl();
|
||||||
|
|
||||||
String text1 = "Мама мыла Милку мылом";
|
String text1 = "Мама мыла Милку мылом";
|
||||||
String text2 = "Карл у Клары украл рекламу, а Клара у Карла украла бюджет.";
|
String text2 = "Карл у Клары украл рекламу, а Клара у Карла украла бюджет.";
|
||||||
|
|
||||||
log.info("First char frequency: {}", charFrequency.getSortedCharFrequency(text1));
|
log.info("First char frequency: {}", charFrequency.getCharFrequency(text1));
|
||||||
log.info("Second char frequency: {}", charFrequency.getSortedCharFrequency(text2));
|
log.info("Second char frequency: {}", charFrequency.getCharFrequency(text2));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
public class MainTest {
|
public class MainTest {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
WordGroup wordGroup = null;
|
WordGroup wordGroup = new WordGroupImpl();
|
||||||
|
|
||||||
String text1 = "Карл у Клары украл рекламу, а Клара у Карла украла бюджет.";
|
String text1 = "Карл у Клары украл рекламу, а Клара у Карла украла бюджет.";
|
||||||
String text2 = "Из кузова в кузов шла перегрузка арбузов. В грозу, в грязи от груза арбузов развалился кузов.";
|
String text2 = "Из кузова в кузов шла перегрузка арбузов. В грозу, в грязи от груза арбузов развалился кузов.";
|
||||||
|
|||||||
17
src/main/java/ru/ilug/c6_word_group/WordGroupImpl.java
Normal file
17
src/main/java/ru/ilug/c6_word_group/WordGroupImpl.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package ru.ilug.c6_word_group;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class WordGroupImpl implements WordGroup {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Integer, List<String>> groupWordsByLength(String text) {
|
||||||
|
text = text.replaceAll("[.,]", "");
|
||||||
|
return Arrays.stream(text.split(" "))
|
||||||
|
.map(String::toLowerCase)
|
||||||
|
.collect(Collectors.groupingBy(String::length));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user