This commit is contained in:
2026-01-21 10:25:47 +03:00
commit 5f6438aa39
16 changed files with 250 additions and 0 deletions

42
.gitignore vendored Normal file
View File

@@ -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

19
build.gradle Normal file
View File

@@ -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()
}

View File

@@ -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

1
settings.gradle Normal file
View File

@@ -0,0 +1 @@
rootProject.name = 'map-training'

View File

@@ -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<String, Integer> wordsCountMap = wordCounter.countWords(text);
System.out.println("Words count: " + wordsCountMap);
}
}

View File

@@ -0,0 +1,9 @@
package ru.ilug.c1_word_counter;
import java.util.Map;
public interface WordCounter {
Map<String, Integer> countWords(String text);
}

View File

@@ -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"));
}
}

View File

@@ -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);
}

View File

@@ -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));
}
}

View File

@@ -0,0 +1,9 @@
package ru.ilug.c3_simple_translator;
public interface SimpleTranslator {
void addWordTranslate(String word, String translate);
String translate(String text);
}

View File

@@ -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<String, Float> averagesScores = schoolJournal.getAverageScorePerStudent();
System.out.println("Average students scores: " + averagesScores);
List<String> students1 = schoolJournal.studentsWithAverageScoreHighThen(4.5f);
System.out.println("Students with average score high then 4.5:" + students1);
List<String> students2 = schoolJournal.studentsWithAverageScoreHighThen(3);
System.out.println("Students with average score high then 3:" + students2);
}
}

View File

@@ -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<Integer> scores);
Map<String, Float> getAverageScorePerStudent();
List<String> studentsWithAverageScoreHighThen(float averageScore);
}

View File

@@ -0,0 +1,9 @@
package ru.ilug.c5_char_frequency;
import java.util.Map;
public interface CharFrequency {
Map<Character, Integer> getSortedCharFrequency(String text);
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -0,0 +1,10 @@
package ru.ilug.c6_word_group;
import java.util.List;
import java.util.Map;
public interface WordGroup {
Map<Integer, List<String>> groupWordsByLength(String text);
}