gpt4 book ai didi

java - 将数据库查询结果中的数据存储在二维数组列表中

转载 作者:行者123 更新时间:2023-11-30 01:03:52 24 4
gpt4 key购买 nike

我正在查询一个数据库,其输出是用户 ID 和该用户使用过的标签,但标签采用单个字符串格式并用 <> 括起来。

我使用这些语句来存储结果

String str1 = insertStmt.getString(1);//User ID
String str2 = insertStmt.getString(2);//String for Tags

因此输出可以被认为是这样的:

ID   Tags
1 <Java><SQL>
2 <Battery><Installation>
1 <Installation>
...and so on

此后,我正在处理 str2,以便拆分和删除 <> 并将标签存储在 ArrayList 中。

我的主要目标是处理这些数据,以便我可以获得每个用户 ID 的所有不同标签的列表。输出应该是这样的:

ID  Tags
1 Java,SQL,Installation.....
2 Battery,Installation...
.
.
.
and so on

我在进行第二次输出处理时遇到问题。基本上我无法想象应该如何进行以及应该使用哪种数据结构来存储此关联。

最佳答案

我想你会想要一个HashMap<Integer, HashSet<String> > 。这将允许您存储每个 id 的所有唯一标签。

要插入,您需要检查它是否包含您要插入的 ID containsKey( id ) 。如果没有,则创建一个新的 HashSet<String> ,插入它,然后添加标签。如果 key 在那里,只需使用 Add( tag )添加它。

这里讲的是Java中如何存储它。在 SQL 中,这是一种糟糕的存储标签的方式。为了标准化,你应该有类似 TagNames 的东西。 table ,有TagIdTagName列,其中 TagId作为主键 - 这是定义实际标签的地方。然后,说可以应用标签的表被命名为 Things ,主键为 ThingId ,您将拥有 ThingsTags表,带列 ThingIdTagId ,两者都引用另一个表中各自的列,以将两者关联起来。我不确定这有多大意义,但我现在不想制作图表。

关于java - 将数据库查询结果中的数据存储在二维数组列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19853313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com