gpt4 book ai didi

Java 集合优化

转载 作者:太空宇宙 更新时间:2023-11-03 11:36:38 25 4
gpt4 key购买 nike

我正在开发一个连接到数据库以获取一些记录、处理每条记录并将记录更新回数据库表的 java 应用程序。

以下是我的数据库架构(带有示例数据):

Table A: Requests

| REQUESTID | STATUS |
-------------------------
| 1 | PENDING|
| 2 | PENDING|

Table B: RequestDetails


| DETAILID | REQUESTID | STATUS | USERID |
---------------------------------------------
| 1 | 1 | PENDING | RA1234 |
| 2 | 1 | PENDING | YA7266 |
| 3 | 2 | PENDING | KAJ373 |

以下是我的要求:

1) 从两个表中获取请求以及未决状态以及请求数据 我为此使用以下查询:

SELECT Requests.REQUEST_ID as "RequestID",RequestDetails.USERID as "UserID",RequestDetails.DETAILID as "DetailID" 
FROM Requests Requests
JOIN RequestDetails RequestDetails
ON (Requests.REQUESTID=RequestDetails.REQUESTID AND Requests.REQUEST_STATUS='PENDING' AND RequestDetails.STATUS='PENDING')

2) 我正在使用 HashMap<String, List<HashMap<String,String>>存储所有值

3) 遍历每个请求并获取详细信息 List<HashMap<String,String>> 对每个详细记录执行操作并更新状态

4) 请求的所有详细记录处理完成后,在requests表中更新请求的状态

最终状态应该是这样的:

    Table A: Requests

| REQUESTID | STATUS |
-------------------------
| 1 | PENDING|
| 2 | PENDING|

Table B: RequestDetails


| DETAILID | REQUESTID | STATUS | USERID |
---------------------------------------------
| 1 | 1 | PENDING | RA1234 |
| 2 | 1 | PENDING | YA7266 |
| 3 | 2 | PENDING | KAJ373 |

我的问题是:我使用的集合非常复杂 ( "HashMap<String, List<HashMap<String,String>>" )。还有其他有效的方法吗?

谢谢你,
腰带

最佳答案

我认为你应该使用类之类的东西,

Class RequestDetails{
int detailId;
int statusId;
String status;
String userId;
}

而不是 map HashMap<String, List<HashMap<String,String>>你应该使用 HashMap<String, RequestDetails>这具有代码简单等优点,而且当您处理大量数据并且需要修改字符串时,最好避免使用 String 数据类型,因为它是不可变的并且会降低您的性能。

希望这对您有所帮助。

关于Java 集合优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45408484/

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