Группировка строк с использованием Hashmap

124
9

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


Например, теперь он отображается следующим образом:


** Проверить один вопрос?


Ответ на тест


Проверить второй вопрос?


Ответ на тест два


Проверить один вопрос?


Ответ на тест один (снова) **


Но я хочу отобразить вот так:


** Проверить один вопрос?


Ответ на тест


Ответ на тест один (снова)


Проверить второй вопрос?


Ответ на тест 2 **


Как это сделать?

спросил(а) 2021-01-25T15:27:47+03:00 5 месяцев назад
1
Решение
90

Вы можете использовать guava HashMultimap, если вы хотите связать один и тот же ключ с несколькими значениями:

import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;

public class HashMultimapTest {

public static void main(String[] args) {
Multimap<String,String> map = HashMultimap.create();

map.put("question 2", "answer 2");
map.put("question 1", "answer 1");
map.put("question 3", "answer 3");
map.put("question 1", "another answer 1");

System.out.println(map);
//{question 1=[answer 1, another answer 1],
// question 2=[answer 2],
//question 3=[answer 3]}
}
}

ответил(а) 2021-01-25T15:27:47+03:00 5 месяцев назад
46

Сделайте числовой идентификатор для каждого вопроса с шагом 100.
Создайте "снова" вопрос, добавив 1 к базовому идентификатору вопроса.
Чем просто сортировать по ID вопроса.

ответил(а) 2021-01-25T15:27:47+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема