首页 > 编程语言 >java中去重复的id

java中去重复的id

时间:2024-08-12 11:07:16浏览次数:14  
标签:java String HashSet idsString StringBuilder projectids id 中去

1.String projectids="";

2.

if (StringHelper.isNotEmpty(gatheringinfo.getCol1()) && gatheringinfo.getCol1().length()>0){
projectids+=gatheringinfo.getCol1()+",";
}

3.
if (StringHelper.isNotEmpty(projectids)){
projectids = projectids.substring(0, projectids.length() - 1);
String delimiter = ",";
projectids = deduplicateIds(projectids, delimiter);
}

4.
public static String deduplicateIds(String idsString, String delimiter) {
// 使用HashSet来去重,因为HashSet不允许重复元素
Set<String> uniqueIds = new HashSet<>();

// 假设idsString不为null且格式正确
if (idsString != null && !idsString.isEmpty()) {
// 使用split方法按分隔符分割字符串
String[] ids = idsString.split(delimiter);

// 将分割后的ID添加到HashSet中自动去重
for (String id : ids) {
// 去除可能的空白字符(如空格、换行等)
uniqueIds.add(id.trim());
}
}

// 使用StringBuilder来构建最终的字符串
StringBuilder result = new StringBuilder();

// 遍历HashSet中的元素,将它们添加到StringBuilder中
// 并在每个元素后添加分隔符(除了最后一个元素)
boolean first = true;
for (String id : uniqueIds) {
if (!first) {
result.append(delimiter);
}
result.append(id);
first = false;
}

// 将StringBuilder转换为字符串并返回
return result.toString();
}

标签:java,String,HashSet,idsString,StringBuilder,projectids,id,中去
From: https://www.cnblogs.com/jk200/p/18354525

相关文章

  • 环境配置:如何在IntelliJ IDEA中安装和修改JDK版本配置(以Windows为例)
    环境配置:如何在IntelliJIDEA中安装和修改JDK版本配置(以Windows为例)为了在Java开发中使用最新的功能和优化,升级和配置JDK版本是必不可少的。本文将详细介绍如何下载、安装、配置最新的JDK版本,并在IntelliJIDEA中正确设置项目的JDK版本,确保你的开发环境能够支持最新的Java......
  • Java自动化测试框架-08 - TestNG之并行性和超时篇 (详细教程)
    一、并行性和超时您可以指示TestNG以各种方式在单独的线程中运行测试。可以通过在suite标签中使用parallel属性来让测试方法运行在不同的线程中。这个属性可以带有如下这样的值:二、并行套件(suites)如果您正在运行多个套件文件(例如“ javaorg.testng.TestNGtestng1.xml......
  • 结构开发笔记(二):solidworks软件(一):介绍、下载和安装过程
    前言  部分零件外壳需要结构设计,在proE和solidworks中经过过程对比发现solidworks相对比较符合使用习惯,所以在有proE基础的前提下还是更换了solidworks来进行产品的结构零件设计,其图形直接可以进行3D打印,实现定制化的零件。  本篇介绍solidworks,下载并安装。 Solidwo......
  • 结构开发笔记(三):solidworks软件(二):小试牛刀,绘制一个立方体
    前言  solidworks草图大师,基本的使用过程。  所有的零件基础都是从平面绘制开始,然后凸出来厚度。  本篇绘制一个简单的立方体,熟悉基本操作。 立方体绘制过程  选取一个平面绘制一个立方形,然后拉伸即可。  绘制矩形的方式:    功能所见即所得。  其......
  • Android Studio报错: A problem occurred starting process command ,CreateProcess er
    AndroidStudio报错:Aproblemoccurredstartingprocesscommand,CreateProcesserror=2,系统找不到指定的文件一、遇到问题二、解决问题重新下载了22.0.7026061和22.1.7171670只在cmake.dir中修改了路径(ndk.dir中修改了路径[未尝试])clean+SyncProject,OK了!......
  • Android studio报错 Caused by: org.gradle.api.internal.plugins.PluginApplicationE
    Androidstudio报错Causedby:org.gradle.api.internal.plugins.PluginApplicationExceptionAndroidstudio运行报错:Causedby:org.gradle.api.internal.plugins.PluginApplicationException:Failedtoapplyplugin[id‘com.android.application’]解决方法:在项......
  • 基于 JavaFx 搭建的实用小工具集合
    大家好,我是Java陈序员。作为一名后端程序员,常常需要在电脑上安装各种工具软件来支持日常开发。那么,是否有一款工具集合,包含各种工具,可以省去一一安装呢?答案是有的!今天,给大家介绍一个基于JavaFx实现的工具集合,包含了各式各样的开发工具,以及一些有趣的小工具。关注微信公众......
  • Fiddler抓包工具总结
      Fiddler是一款很牛逼的抓包工具,写一篇对它的总结,方便自己查阅序章Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用......
  • [ABC366D] Cuboid Sum Query 题解
    [ABC366D]CuboidSumQuery题解原题传送门AT原题传送门题意翻译:给予一个\(N\timesN\timesN\)的三维矩阵,有\(Q\)次询问,对于每次询问,给与四个数,分别为\(L_1,R_1,L_2,R_2,L_3,R_3\)求在三维矩阵中\(a[L_1][L_2][L_3]\)到\(a[R_1][R_2][R_3]\)的区间和。三维前缀......
  • Java学习笔记1--JDK,JRE和JVM
    1、Java开发环境Java开发环境是指Java程序员开发、编写、测试和调试Java程序所使用的所有工具和技术。Java开发环境通常由以下几个部分组成:JDK(JavaDevelopmentKit):JDK是Java开发环境的核心组件,它包括了Java编译器、JRE(Java运行环境)、JavaDoc文档生成器和其他一些工具。JDK是J......