Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/41: Рейтинг темы: голосов - 41, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 7

Создать словарь

31.05.2015, 23:54. Показов 7870. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, помогите с такой задачей

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.*;
// Создать класс словаря, метод которого для каждого слова возвращает его текстовое объяснение. Инициализировать словарь несколькими словами.
 
 
class Vocablary {
    public static String vocablarys(String word)
    {
        HashMap<String, String> map = new HashMap<>();
        map.put("Germany", "Country");
        map.put("Father", "Parents");
        map.put("Son", "Child");
        map.put("Mouse", "Animal");
         return map.get(word);
    }
}
public class slovar
{
    public static void main(String[] args){
       System.out.println(Vocablary.vocablarys(""));
    }
}
Я создал метод , мне сказали каждый раз при вызове метода словарь инициализируется заново.Это неэффективно и нужно сделать лучше.
Я переписал таким образом
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Vocablary {
 
public static HashMap<String, String> map = new HashMap<>();
 
public static void getmap() {
map.put("Germany","Country");
map.put("Son","Child");
}
public static String vocablarys (String word){
getmap();
return map.get(word);
}
}
 
public class slovar
{
public static void main(String[] args){
 
System.out.println(Vocablary.vocablarys("Son"));
 
}
}
Но мне сказали,что это в принципе одно и тоже ,что в словарь помещаются данные при каждом вызове метода.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.05.2015, 23:54
Ответы с готовыми решениями:

Создать словарь с выводом рандомных слов
Доброе время суток, форумчане. Бьюсь с траблой уж целый день. Как создать словарь простых русских слов, чтобы потом можно было вывести...

Создать словарь (Map<String, String>) занести в него десять записей по принципу «фамилия» - «имя».
/* Удалить людей, имеющих одинаковые имена Создать словарь (Map&lt;String, String&gt;) занести в него десять записей по принципу «фамилия» -...

Создать словарь
Дан список из строк и чисел, создать словарь, где ключом будет тип данных, а значением – список исходных элементов, которые имеют этот...

7
 Аватар для ne2win
206 / 206 / 71
Регистрация: 25.02.2014
Сообщений: 569
01.06.2015, 10:18
alexander93, так HashMap и есть словарь. А вам что нужно сделать?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
01.06.2015, 10:23
Kochmarik, там каждый раз заполняется заново словарь когда метод вызывается. Это то что написанно выше. Надо разделить инициализацию и использование.
0
 Аватар для ne2win
206 / 206 / 71
Регистрация: 25.02.2014
Сообщений: 569
01.06.2015, 11:12
KEKCoGEN, это я понял. Просто неясно что требуется от словаря, в котором используется Map. Если нужно сделать класс-обертку, то причем статик методы? Если нет, почему напрямую не работать с HashMap?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
01.06.2015, 11:19
alexander93, инициализацию коллекции сделайте в конструкторе а не в методе.
0
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 7
03.05.2016, 15:31
тоже решаю эту задачу. от меня требуют сделать инициализацию в конструкторе а не в методе. как это сделать?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Vocablary {
    private static HashMap<String, String> map;
 
    private static void initMap(){
        map = new HashMap<>();
        map.put("Germany", "Country");
        map.put("Father", "Parents");
        map.put("Son", "Child");
        map.put("Mouse", "Animal");
    }
 
    public static String vocablarys(String word)
    {
        if(map == null) {
            initMap();}
            return map.get(word);
        }
    }
0
 Аватар для ninjacut
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
03.05.2016, 16:05
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Vocablary {
    private static HashMap<String, String> map;
 
    static {
        map = new HashMap<>();
        map.put("Germany", "Country");
        map.put("Father", "Parents");
        map.put("Son", "Child");
        map.put("Mouse", "Animal");
    }
 
    public static String vocablarys(String word)
    {
        return map.get(word);
    }
1
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 7
03.05.2016, 18:12
вот такое решение у меня приняли.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Vocablary {
    private HashMap<String, String> map;
 
    public Vocablary() {
        map = new HashMap<>();
        map.put("Germany", "Country");
        map.put("Father", "Parents");
        map.put("Son", "Child");
        map.put("Mouse", "Animal");
    }
 
    public String vocablarys(String word) {
        return map.get(word);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2016, 18:12
Помогаю со студенческими работами здесь

Создать словарь
Объясните пожалуйста, как решить данную задачу: Имеется несколько списков: список имен, список соответствующих им фамилий и возраста....

Создать словарь
Друзья помогите мне создать словарь

Создать словарь с делегатами.
Здравствуйте! Мне требуется создать словарь dictionary ключ которого имеет тип string, а значение delegate типа void. При передаче функции...

Создать словарь терминов
Помогите создать словарь из разных терминов в C#

Создать частотный словарь
Помогите сделать частотный словарь... Вообще не знаю с чего начать, или что там вообще нужно... не знаю!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru