java - 如何在 Java 中将整数的 HashSet 转换为逗号分隔的字符串

标签 java hashset

我想将整数的 HashSet 转换为逗号分隔的字符串,

所以我可以在 MySQL 查询的 where 子句中使用相同的内容。

//[MySQL - Sample table Schema]
my_table
state_id INTEGER
shop_id INTEGER
Set<Integer> uniqueShopIds = shopService.GetShopIds(); // This returns HashSet<Integer>
String inClause = ; // **How do i convert the uniqueShopIds to comma separated String**
String selectQuery = String.format("SELECT DISTINCT(state_id) FROM my_table WHERE shop_id IN (%s);", inClause);

如果有其他方法,我可以直接在PreparedStatment的IN CLAUSE中使用HashSet,请分享。

最佳答案

Set<Integer> s = new HashSet<>(Arrays.asList(1, 2, 3));
String str = s.stream().map(Object::toString).collect(Collectors.joining(","));
System.out.println(str); // prints 1,2,3

关于java - 如何在 Java 中将整数的 HashSet 转换为逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62052865/

相关文章:

java - 有没有等同于 C++ 函数指针的 Java?

java - 如何在Java中获取HashMap的前10个键值

c# - 为什么 C# HashSets 有一个 Distinct() 方法

java - Spring Boot中如何获取请求的客户端IP地址?

java - 使用InternalEntryFactory类将Infinispan 4.2迁移到5.1

java - 方法隐藏在java中的好处

java - 如何向哈希集添加值?

c# - Linq Contains() 是否检查 HashSet?

java - 确保 hashMap 中的所有 ids 值都不同?

java - 关于Hash Set中的contains方法的问题