Группировка строк с использованием Hashmap - PullRequest
0 голосов
/ 27 января 2011

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

Например, теперь оно отображается так:

** Тестовый вопрос один?

Тест Ответ один

Тестовый вопрос второй?

Тест Ответ два

Тестовый вопрос первый?

Тестовый ответ один (снова) **

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

** Тестовый вопрос первый?

Тест Ответ один

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

Тестовый вопрос второй?

Тестовый ответ два **

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

Ответы [ 2 ]

3 голосов
/ 27 января 2011

Вы можете использовать гуаву 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]}
    }
}
0 голосов
/ 27 января 2011

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

...