使用Hashmap进行字符串分组

时间:2011-01-27 09:15:51

标签: java hashmap grouping

我在JSP中显示一些问题和答案列表。所有问题和答案都交替显示。多个答案可能存在相同的问题。如果问题是两次,我想将所有问题分组,然后显示相关答案。

例如,现在它显示如下:

**测试问题一?

测试答案一

测试问题二?

测试答案二

测试问题一?

测试答案一(再次)**


但我希望显示如下:

**测试问题一?

测试答案一

测试答案一(再次)

测试问题二?

测试答案二**

怎么做?

2 个答案:

答案 0 :(得分:3)

如果要将同一个键与多个值相关联,可以使用番石榴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]}
    }
}

答案 1 :(得分:0)

为每个问题制作数字ID,步骤100。 创建“再次”问题,将基础问题ID添加1。 而不仅仅是按问题ID排序。