使用 Hashmap 进行字符串分组

发布于 2024-10-14 05:48:22 字数 368 浏览 3 评论 0原文

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

例如,现在显示如下:

**测试问题一?

测试答案一

测试问题二?

测试答案二

测试问题一?

测试答案一(再次)**


但我想这样显示:

**测试问题一?

测试答案一

测试答案一(再次)

测试问题二?

测试答案二**

如何做到这一点?

I am displaying some List of Questions and Answers in JSP. All the Question and answer are displaying alternatively. There may be same questions with multiple answers. I want to group all the questions if questions are twice, then related answers should display.

For example,Now it is displaying like this:

**Test Question one?

Test Answer one

Test Question two?

Test Answer two

Test Question one?

Test Answer one ( again)**


But i want to display like this:

**Test Question one?

Test Answer one

Test Answer one ( again)

Test Question two?

Test Answer two**

How to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怀中猫帐中妖 2024-10-21 05:48:22

您可以使用 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]}
    }
}

You can use guava's HashMultimap if you want to associate the same key with multiple values:

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]}
    }
}
风轻花落早 2024-10-21 05:48:22

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

Make numerical ID for every question, with step 100.
Create "again" question adding 1, to base question ID.
Than just sort by question ID.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文