我正在 JSP 中显示一些问题和答案列表。所有问题和答案都是交替显示的。可能存在相同的问题有多个答案。我想将所有问题分组,如果问题出现两次,则应显示相关答案。
例如,现在显示如下:
**测试问题一?
测试答案一
测试问题二?
测试答案二
测试问题一?
测试答案一(再次)**
但我想这样显示:
**测试问题一?
测试答案一
测试答案一(再次)
测试问题二?
测试答案二**
如何做到这一点?
最佳答案
您可以使用 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]}
}
}
关于java - 使用 Hashmap 进行字符串分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4814490/