Ассоциативные массивы
-
Реализуйте схему транслитерации. Создайте ассоциативный массив, который сопоставляет буквам русского алфавита строку из букв английского. Например,
{'а' -> "a", 'я' -> "ja", 'ш' -> "sh"}и т.д. Необходимо реализовать функцию, которая по слову из русских букв возвращает слово из латинских.- Дополнительное усложненное задание. Дан файл с текстом на русском, вывести в другой файл тот же текст, но латинскими буквами. Проследите,
что если слово было с заглавной буквы, то и результат транслитерации должен быть с заглавной. Если слово состоит только из
заглавных букв, при этом оно имеет хотя бы две буквы, то и результат должен состоять только из заглавных букв. Все знаки
препинания и пробелы между словами должны остаться без изменений. Подойдет ли
java.util.Scannerдля этой задачи?
- Дополнительное усложненное задание. Дан файл с текстом на русском, вывести в другой файл тот же текст, но латинскими буквами. Проследите,
что если слово было с заглавной буквы, то и результат транслитерации должен быть с заглавной. Если слово состоит только из
заглавных букв, при этом оно имеет хотя бы две буквы, то и результат должен состоять только из заглавных букв. Все знаки
препинания и пробелы между словами должны остаться без изменений. Подойдет ли
-
Дана строка. Посчитать каждый символ, сколько раз он встретился. Например, строка “banana” должна выдать массив
Map<Character, Integer>:'b' -> 1 'a' -> 3 'n' -> 2Необходимо реализовать следующий алгоритм. Сначала вы имеете пустой
Map. Потом читаете по очереди каждую букву, например, в словеbanana, сначала читаетеb. ОбновляемMapи указываем, чтоbвстретилась 1 раз:{b -> 1}. Дальше читаемa, обновляемMap:{b -> 1, a -> 1}. После буквыnобновляем:{b -> 1, a -> 1, n -> 1}. Наконец, после чтенияaмы замечаем, чтоaуже записано как встретившееся 1 раз, поэтому обновляемMap, что оно встретилось уже два раза:{b -> 1, a -> 2, n -> 1}. Процесс продолжается, пока не будут прочитаны все буквы.Используйте этот же алгоритм в двух следующих задачах.
-
Аналогично предыдущему, но выдать
Map<Character, List<Integer>>со списком индексов, где встретился символ:b -> [0] a -> [1, 3, 5] n -> [2, 4] -
Частотный словарь слов из файла. Т.е. нужно прочитать слова из файла и посчитать, сколько раз они встретились. Приводите слова к нижнему регистру перед подсчетом. Желательно использовать большой текст на русском, например, возьмите его на http://lib.ru. Используйте
Scanner.useDelimiter(), чтобы указать сканеру, какие символы считать разделителями слов.- Сначала используйте
HashMap - Потом исправьте программу так, чтобы она использовала все три вида массивов: HashMap, TreeMap, LinkedHashMap. Соответственно, выведите ответ три раза. Не дублируйте код.
- Выведите слова в порядке уменьшения частот. Вам потребуется отсортировать список List<Map.Entry<String, Integer».
- Сначала используйте