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

Реализовать метод mapToObjs, преобразующий Map в список объектов

24.01.2015, 09:09. Показов 1890. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
* Реализовать метод mapToObjs, преобразовывающий Map<String, Integer> в список объектов класса Person
* В мэпе содержатся пары строка-число. Это исходные данные для полей объекта.
* Строка - имя, Число - возраст.
*
* Например:
*
* {Bob -> 12, Peter -> 23, Helen -> 11} преобразовать в
* {Person(Bob, 12), Person(Peter,23), Person(Helen, 11)}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2015, 09:09
Ответы с готовыми решениями:

Реализовать метод toString, преобразующий число в строку
Задали реализовать метод toString, преобразование числа в строку и ее последующий вывод. Облазил все - есть два, три способа как это...

Поместить вектора в map и реализовать перегрузку вывода для map
Всем привет! Нужна помощь в написании программы. У меня есть вот такая прога и мне нужно каким-то образом поместить вектора в map и...

Как правильно реализовать метод добавления и удаления объектов в хранилище без перегрузки?
Не знаю как правильно здесь реализовать метод добавления и удаления объектов в хранилище без перегрузки. Заранее спасибо. #include...

11
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
24.01.2015, 10:20
Лучший ответ Сообщение было отмечено javalolka как решение

Решение

javalolka,
Java
1
2
3
4
5
6
7
public List<Person> mapToObjs (Map<String, Integer> map) {
        List<Person> list = new ArrayList<Person>();
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            list.add(new Person(entry.getKey(), entry.getValue()));
        }
        return list;
    }
1
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 29
24.01.2015, 19:31  [ТС]
Добавлено через 9 часов 6 минут
reisal78, Как написать тест к этой программе?)
0
 Аватар для Sanan07
284 / 264 / 173
Регистрация: 27.07.2014
Сообщений: 584
24.01.2015, 20:00
javalolka,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Person {
    
 
    private String name;
    private int age;
    
    public Person (String name,int age) {
        
        this.name=name;
        this.age=age;
        
    }
        
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }
    
    
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
 
public class PersonTest {
 
    public static void main(String[] args) {
        
        
        List<Person> list = new ArrayList<Person>();
        Map<String,Integer> map = new HashMap<String,Integer>();
        
        map.put("John", 15);
        map.put("Alice",18);
        map.put("Andrew",2);
        
        list = mapToObjs(map);
        
        System.out.println(list);
    
        
 
    }
    
    public static List<Person> mapToObjs (Map<String,Integer> map) {
        List<Person> list = new ArrayList<Person>();
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            list.add(new Person(entry.getKey(), entry.getValue()));
        }
        return list;
    }
 
}
1
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 29
24.01.2015, 20:04  [ТС]
Sanan07, а как тест написать?
0
 Аватар для Sanan07
284 / 264 / 173
Регистрация: 27.07.2014
Сообщений: 584
24.01.2015, 20:06
javalolka, что вы подразумевате под "тест" . Класс PersonTest и есто тест к этой программе.
0
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 29
24.01.2015, 20:19  [ТС]
Sanan07, как написать в классе unit test к этой программе?
0
 Аватар для Sanan07
284 / 264 / 173
Регистрация: 27.07.2014
Сообщений: 584
24.01.2015, 20:26
javalolka, ССори с этим пока не смогу помочь
0
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 29
24.01.2015, 20:28  [ТС]
reisal78, вы сможете написать в классе unit test к этой программе?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
24.01.2015, 20:31
javalolka, возьмите main того что написал Sanan07 и сделайте из него метод юнит теста. В чем проблема?
0
 Аватар для Sanan07
284 / 264 / 173
Регистрация: 27.07.2014
Сообщений: 584
24.01.2015, 20:40
javalolka,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package MavenTest.Test;
 
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
 
/**
 * Unit test for simple App.
 */
public class AppTest  extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }
 
    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite(AppTest.class);
    }
 
    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
 
        List<App> list = new ArrayList<App>();
        Map<String,Integer> map = new HashMap<String,Integer>();
        
        map.put("John", 15);
        map.put("Alice",18);
        map.put("Andrew",2);
        
        list = App.mapToObjs(map);
        
        System.out.println(list);
    
    }
}
Что-то вроде этого
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
24.01.2015, 21:35
Sanan07, ересь какая-то. Зачем вводить новичков в заблуждение?

Добавлено через 23 минуты
Тест на основе решения reisal78

class Pearson

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package org.cyberforum.exmaple;
 
public class Person {
    
    private String name;
    private Integer age;
    
    
    public Person(String name, Integer age) {
        super();
        this.name = name;
        this.age = age;
    }
    
    
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    
    
    
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((age == null) ? 0 : age.hashCode());
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }
 
 
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Person other = (Person) obj;
        if (age == null) {
            if (other.age != null)
                return false;
        } else if (!age.equals(other.age))
            return false;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }
 
 
}

Class ObjectMapper


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package org.cyberforum.exmaple;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
 
public class ObjectMapper {
    
    
    public static List<Person> mapToObjs (Map<String, Integer> map) {
        List<Person> list = new ArrayList<Person>();
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            list.add(new Person(entry.getKey(), entry.getValue()));
        }
        return list;
    }
 
}



Test:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package ua.mursalov.study.bookshop;
 
import static org.junit.Assert.*;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.cyberforum.exmaple.ObjectMapper;
import org.cyberforum.exmaple.Person;
import org.junit.Before;
import org.junit.Test;
 
public class MapperTest {
    
    private Map<String, Integer> myMap;
    
    @Before
    public void init() {
        myMap = new HashMap<String, Integer>();
        
        myMap.put("Bob", 12);
        myMap.put("Peter", 23);
        myMap.put("Helen", 11);
    }
 
    @Test
    public void test() {
        List<Person> resultList = ObjectMapper.mapToObjs(myMap);
        assertEquals(3, resultList.size());
        assertTrue("Result list must contain pearson", resultList.contains(new Person("Bob", 12)));
        assertTrue("Result list must contain pearson", resultList.contains(new Person("Peter", 23)));
        assertTrue("Result list must contain pearson", resultList.contains(new Person("Helen", 11)));
        
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2015, 21:35
Помогаю со студенческими работами здесь

Как реализовать метод, для суммы конкретных параметров двух и более объектов
Здравствуйте, есть класс и динамический массив объектов этого класса. Вопрос: как реализовать метод, для суммы конкретных параметров двух и...

Создайте предикат, преобразующий строку в список слов
Помогите пожалуйста решить задачу: Создайте предикат, преобразующий строку в список слов, которые упорядочены по длине.

Создайте предикат, преобразующий строку в список слов
Создайте предикат, преобразующий строку в список слов, состоящих из четного количества символов.

Создать метод, преобразующий строку в число с плавающей точкой
Дали лаб по яве, помогите пожалуйста! Собсно лаб: Для объекта String добавить метод toFloat(), который преобразует строку в число с...

Метод, преобразующий многомерные или ступенчатые массивы в IEnumerable
меня все мучает идея, как преобразовать массив любой размерности в последовательность. Не покидает мысль о том, как удобно было бы удобно...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru