在防止foreach循环不删除重复项的问题上,可以采取以下几种方法:
import com.tencentcloudapi.tdsql.v20180228.TdsqlClient;
import com.tencentcloudapi.tdsql.v20180228.models.DescribeDatabasesRequest;
import com.tencentcloudapi.tdsql.v20180228.models.DescribeDatabasesResponse;
import com.tencentcloudapi.tdsql.v20180228.models.Database;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
// 创建TDSQL客户端
TdsqlClient client = new TdsqlClient();
// 创建请求对象
DescribeDatabasesRequest request = new DescribeDatabasesRequest();
request.setInstanceId("实例ID");
// 发送请求并获取响应
DescribeDatabasesResponse response = client.DescribeDatabases(request);
// 创建Set集合用于存储数据库名字
Set<String> databaseNames = new HashSet<>();
// 遍历响应中的数据库列表
for (Database database : response.getDatabases()) {
// 将数据库名字添加到Set集合中
databaseNames.add(database.getDatabaseName());
}
// 输出去重后的数据库名字
for (String name : databaseNames) {
System.out.println(name);
}
}
}
import com.tencentcloudapi.tdsql.v20180228.TdsqlClient;
import com.tencentcloudapi.tdsql.v20180228.models.DescribeDatabasesRequest;
import com.tencentcloudapi.tdsql.v20180228.models.DescribeDatabasesResponse;
import com.tencentcloudapi.tdsql.v20180228.models.Database;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建TDSQL客户端
TdsqlClient client = new TdsqlClient();
// 创建请求对象
DescribeDatabasesRequest request = new DescribeDatabasesRequest();
request.setInstanceId("实例ID");
// 发送请求并获取响应
DescribeDatabasesResponse response = client.DescribeDatabases(request);
// 创建HashMap用于标记已经出现的数据库名字
Map<String, Integer> databaseMap = new HashMap<>();
// 遍历响应中的数据库列表
Iterator<Database> iterator = response.getDatabases().iterator();
while (iterator.hasNext()) {
Database database = iterator.next();
String databaseName = database.getDatabaseName();
// 如果数据库名字已经出现过,则从集合中删除该元素
if (databaseMap.containsKey(databaseName)) {
iterator.remove();
} else {
// 否则将数据库名字添加到HashMap中
databaseMap.put(databaseName, 1);
}
}
// 输出去重后的数据库列表
for (Database database : response.getDatabases()) {
System.out.println(database.getDatabaseName());
}
}
}
以上是两种常见的防止foreach循环不删除重复项的方法,具体选择哪种方法取决于实际需求和场景。腾讯云提供了丰富的云计算产品和服务,例如云原生数据库TDSQL,可用于存储和操作数据。您可以根据具体需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云