gpt4 book ai didi

java - 如何在 JSONArray 中存储唯一元素

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

我试图仅将从数据库获取的唯一元素存储在 JSONArray 内

HashSet<String> hs = new HashSet<String>();
JSONArray mainarray=new JSONArray();

PreparedStatement stmt = connection.prepareStatement("SELECT * from categories");
ResultSet rs=stmt.executeQuery();

while(rs.next())
{
String T1 = rs.getString("T1");
hs.add(T1);
if(!hs.contains(T1))
{
mainarray.put(T1);
}
}


System.out.println(mainarray);

奇怪的是,输出是一个空数组[]

顺便说一下,我正在使用org.json.JSONArray

有人可以帮忙吗?

最佳答案

 hs.add(T1);
if(!hs.contains(T1)) { ...

条件始终为假...因为您刚刚添加了元素!

因此,您永远不会向 mainarray 添加任何内容。

<小时/>

不管怎样,这里有一个针对您的错误的修复:

// Inelegant version
if (!hs.contains(T1)) {
hs.add(T1);
mainarray.put(T1);
}

// Elegant version that avoids two probes of the hashset
// ... see javadocs for `Set.add` to understand why this works.
if (hs.add(T1)) {
mainarray.put(T1);
}

关于java - 如何在 JSONArray 中存储唯一元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24076819/

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