commit 5f6438aa39a0a472064f199479b7305a37760192 Author: Falmer Date: Wed Jan 21 10:25:47 2026 +0300 Initial diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b63da45 --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..f8a6846 --- /dev/null +++ b/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'java' +} + +group = 'ru.ilug' +version = '1.0-SNAPSHOT' + +repositories { + mavenCentral() +} + +dependencies { + testImplementation platform('org.junit:junit-bom:5.10.0') + testImplementation 'org.junit.jupiter:junit-jupiter' +} + +test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..9a47cdb --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jan 21 09:42:09 MSK 2026 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..f2b2167 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'map-training' \ No newline at end of file diff --git a/src/main/java/ru/ilug/c1_word_counter/MainTest.java b/src/main/java/ru/ilug/c1_word_counter/MainTest.java new file mode 100644 index 0000000..efa134a --- /dev/null +++ b/src/main/java/ru/ilug/c1_word_counter/MainTest.java @@ -0,0 +1,16 @@ +package ru.ilug.c1_word_counter; + +import java.util.Map; + +public class MainTest { + + public static void main(String[] args) { + WordCounter wordCounter = null; + + String text = "Внутри Map данные хранятся в формате “ключ”-”значение”, то есть по парам. И в качестве ключей, и в качестве значений могут выступать любые объекты — числа, строки или объекты других классов."; + Map wordsCountMap = wordCounter.countWords(text); + + System.out.println("Words count: " + wordsCountMap); + } + +} diff --git a/src/main/java/ru/ilug/c1_word_counter/WordCounter.java b/src/main/java/ru/ilug/c1_word_counter/WordCounter.java new file mode 100644 index 0000000..9c2d8d1 --- /dev/null +++ b/src/main/java/ru/ilug/c1_word_counter/WordCounter.java @@ -0,0 +1,9 @@ +package ru.ilug.c1_word_counter; + +import java.util.Map; + +public interface WordCounter { + + Map countWords(String text); + +} diff --git a/src/main/java/ru/ilug/c2_phone_book/MainTest.java b/src/main/java/ru/ilug/c2_phone_book/MainTest.java new file mode 100644 index 0000000..88e745f --- /dev/null +++ b/src/main/java/ru/ilug/c2_phone_book/MainTest.java @@ -0,0 +1,21 @@ +package ru.ilug.c2_phone_book; + +public class MainTest { + + public static void main(String[] args) { + PhoneBook phoneBook = null; + + phoneBook.addContact("Ivan", "+1 (234) 567 89 10"); + phoneBook.addContact("Dima", "+3 (456) 789 10 11"); + phoneBook.addContact("Andrey", "+8 (910) 111 21 31"); + phoneBook.addContact("Maria", "+4 (234) 567 89 10"); + + System.out.println("Maria phone: " + phoneBook.findPhoneByName("Maria")); + System.out.println("Dima phone: " + phoneBook.findPhoneByName("Dima")); + + phoneBook.removeContactByName("Dima"); + + System.out.println("Dima phone: " + phoneBook.findPhoneByName("Dima")); + } + +} diff --git a/src/main/java/ru/ilug/c2_phone_book/PhoneBook.java b/src/main/java/ru/ilug/c2_phone_book/PhoneBook.java new file mode 100644 index 0000000..616549c --- /dev/null +++ b/src/main/java/ru/ilug/c2_phone_book/PhoneBook.java @@ -0,0 +1,11 @@ +package ru.ilug.c2_phone_book; + +public interface PhoneBook { + + void addContact(String name, String phone); + + String findPhoneByName(String name); + + void removeContactByName(String name); + +} diff --git a/src/main/java/ru/ilug/c3_simple_translator/MainTest.java b/src/main/java/ru/ilug/c3_simple_translator/MainTest.java new file mode 100644 index 0000000..9453cf4 --- /dev/null +++ b/src/main/java/ru/ilug/c3_simple_translator/MainTest.java @@ -0,0 +1,23 @@ +package ru.ilug.c3_simple_translator; + +public class MainTest { + + public static void main(String[] args) { + SimpleTranslator simpleTranslator = null; + + simpleTranslator.addWordTranslate("подборка", "selection"); + simpleTranslator.addWordTranslate("практических", "practical"); + simpleTranslator.addWordTranslate("задач", "tasks"); + simpleTranslator.addWordTranslate("статистическая", "statistical"); + simpleTranslator.addWordTranslate("оценка", "evaluation"); + simpleTranslator.addWordTranslate("Линии", "line"); + simpleTranslator.addWordTranslate("производства", "production"); + + String text1 = "Подборка практических задач"; + String text2 = "Статистическая оценка линии производства"; + + System.out.println(text1 + " -> " + simpleTranslator.translate(text1)); + System.out.println(text2 + " -> " + simpleTranslator.translate(text2)); + } + +} diff --git a/src/main/java/ru/ilug/c3_simple_translator/SimpleTranslator.java b/src/main/java/ru/ilug/c3_simple_translator/SimpleTranslator.java new file mode 100644 index 0000000..c196b29 --- /dev/null +++ b/src/main/java/ru/ilug/c3_simple_translator/SimpleTranslator.java @@ -0,0 +1,9 @@ +package ru.ilug.c3_simple_translator; + +public interface SimpleTranslator { + + void addWordTranslate(String word, String translate); + + String translate(String text); + +} diff --git a/src/main/java/ru/ilug/c4_school_journal/MainTest.java b/src/main/java/ru/ilug/c4_school_journal/MainTest.java new file mode 100644 index 0000000..d807c18 --- /dev/null +++ b/src/main/java/ru/ilug/c4_school_journal/MainTest.java @@ -0,0 +1,27 @@ +package ru.ilug.c4_school_journal; + +import java.util.List; +import java.util.Map; + +public class MainTest { + + public static void main(String[] args) { + SchoolJournal schoolJournal = null; + + schoolJournal.addScore("Ivan", 4); + schoolJournal.addScores("Andrey", List.of(3, 4, 4)); + schoolJournal.addScores("Maria", List.of(5, 5, 4, 5, 4)); + schoolJournal.addScores("Dima", List.of(4, 5, 3, 5, 5)); + schoolJournal.addScore("Alexandr", 3); + + Map averagesScores = schoolJournal.getAverageScorePerStudent(); + System.out.println("Average students scores: " + averagesScores); + + List students1 = schoolJournal.studentsWithAverageScoreHighThen(4.5f); + System.out.println("Students with average score high then 4.5:" + students1); + + List students2 = schoolJournal.studentsWithAverageScoreHighThen(3); + System.out.println("Students with average score high then 3:" + students2); + } + +} diff --git a/src/main/java/ru/ilug/c4_school_journal/SchoolJournal.java b/src/main/java/ru/ilug/c4_school_journal/SchoolJournal.java new file mode 100644 index 0000000..bed69b9 --- /dev/null +++ b/src/main/java/ru/ilug/c4_school_journal/SchoolJournal.java @@ -0,0 +1,17 @@ +package ru.ilug.c4_school_journal; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +public interface SchoolJournal { + + void addScore(String name, int score); + + void addScores(String name, Collection scores); + + Map getAverageScorePerStudent(); + + List studentsWithAverageScoreHighThen(float averageScore); + +} diff --git a/src/main/java/ru/ilug/c5_char_frequency/CharFrequency.java b/src/main/java/ru/ilug/c5_char_frequency/CharFrequency.java new file mode 100644 index 0000000..f9a680b --- /dev/null +++ b/src/main/java/ru/ilug/c5_char_frequency/CharFrequency.java @@ -0,0 +1,9 @@ +package ru.ilug.c5_char_frequency; + +import java.util.Map; + +public interface CharFrequency { + + Map getSortedCharFrequency(String text); + +} diff --git a/src/main/java/ru/ilug/c5_char_frequency/MainTest.java b/src/main/java/ru/ilug/c5_char_frequency/MainTest.java new file mode 100644 index 0000000..2254558 --- /dev/null +++ b/src/main/java/ru/ilug/c5_char_frequency/MainTest.java @@ -0,0 +1,15 @@ +package ru.ilug.c5_char_frequency; + +public class MainTest { + + public static void main(String[] args) { + CharFrequency charFrequency = null; + + String text1 = "Мама мыла Милку мылом"; + String text2 = "Карл у Клары украл рекламу, а Клара у Карла украла бюджет."; + + System.out.println("First char frequency: " + charFrequency.getSortedCharFrequency(text1)); + System.out.println("Second char frequency: " + charFrequency.getSortedCharFrequency(text2)); + } + +} diff --git a/src/main/java/ru/ilug/c6_word_group/MainTest.java b/src/main/java/ru/ilug/c6_word_group/MainTest.java new file mode 100644 index 0000000..64e0640 --- /dev/null +++ b/src/main/java/ru/ilug/c6_word_group/MainTest.java @@ -0,0 +1,15 @@ +package ru.ilug.c6_word_group; + +public class MainTest { + + public static void main(String[] args) { + WordGroup wordGroup = null; + + String text1 = "Карл у Клары украл рекламу, а Клара у Карла украла бюджет."; + String text2 = "Из кузова в кузов шла перегрузка арбузов. В грозу, в грязи от груза арбузов развалился кузов."; + + System.out.println("First grouped words: " + wordGroup.groupWordsByLength(text1)); + System.out.println("Second grouped words: " + wordGroup.groupWordsByLength(text2)); + } + +} diff --git a/src/main/java/ru/ilug/c6_word_group/WordGroup.java b/src/main/java/ru/ilug/c6_word_group/WordGroup.java new file mode 100644 index 0000000..4d65693 --- /dev/null +++ b/src/main/java/ru/ilug/c6_word_group/WordGroup.java @@ -0,0 +1,10 @@ +package ru.ilug.c6_word_group; + +import java.util.List; +import java.util.Map; + +public interface WordGroup { + + Map> groupWordsByLength(String text); + +}