当前位置: 首页 > news >正文

Android 实现集合去重的方法

方法一:使用HashSet

  1. 将集合转换为HashSet。
Set<String> set = new HashSet<>(list);
  1. 将HashSet转换回List。
List<String> uniqueList = new ArrayList<>(set);

方法二:使用Java 8的Stream API

  1. 将列表转换为Stream。
Stream<String> stream = list.stream();
  1. 使用distinct()方法去除重复元素。
List<String> uniqueList = stream.distinct().collect(Collectors.toList());

方法三:使用Lombok库

  1. 添加Lombok库依赖到项目。
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version>
</dependency>
  1. 在类中使用@Setter@Getter注解。
import lombok.Setter;
import lombok.Getter;@Setter
@Getter
public class UniqueData {private String value;
}
  1. 创建一个集合,并添加重复数据。
List<UniqueData> list = new ArrayList<>();
list.add(new UniqueData("A"));
list.add(new UniqueData("B"));
list.add(new UniqueData("A"));
  1. 使用removeIf()方法去除重复数据。
list.removeIf(uniqueData -> list.stream().filter(ud -> ud.getValue().equals(uniqueData.getValue())).count() > 1);

方法四:使用第三方库,如UniqueHashSet

  1. 添加UniqueHashSet库依赖到项目。
<dependency><groupId>com.github.kokorin.unique</groupId><artifactId>unique-hash-set</artifactId><version>1.1.0</version>
</dependency>
  1. 使用UniqueHashSet去除重复数据。
import com.github.kokorin.unique.UniqueHashSet;Set<String> uniqueSet = new UniqueHashSet<>(list);

以上四种方法都可以用于实现集合去重。方法一是基于HashSet,方法二是基于Java 8的Stream API,方法三是基于Lombok库,方法四是基于第三方库UniqueHashSet

http://www.lryc.cn/news/280535.html

相关文章:

  • 【Vue3】2-12 : 【案例】搜索关键词加筛选条件的综合
  • unity小程序websocket:nginx配置https (wss)转http (ws)及其他问题解决
  • MySql数据库对接Orcal数据库,需要考虑的前提问题
  • K8S的存储卷---数据卷
  • 【量化交易故事】小明开启了量化创业之旅-01
  • ffmpeg写YUV420文件碰到阶梯型横线或者条纹状画面的原因和解决办法
  • 案例:新闻数据加载
  • 数学的雨伞下:理解世界的乐趣
  • 补充 vue3用户管理权限(路由控制)
  • C++ 深度优先搜索DFS || 模版题:排列数字
  • 计算机找不到msvcp120.dll如何解决?总结五个可靠的教程
  • 法线变换矩阵的推导
  • React.Children.map 和 js 的 map 有什么区别?
  • 13.Kubernetes部署Go应用完整流程:从Dockerfile到Ingress发布完整流程
  • 叉车车载终端定制_基于MT6762安卓核心板的车载终端设备方案
  • 【CSS】保持元素宽高比
  • 使用 Docker 和 Diffusers 快速上手 Stable Video Diffusion 图生视频大模型
  • C++ namespace高级用法
  • 如何允许远程访问 MySQL
  • PostgreSQL认证考试PGCA、PGCE、PGCM
  • Matlab深度学习进行波形分割(二)
  • Markdown高级用法——mermaid
  • cf919Div2C题题目总结
  • Pandas实战100例 | 案例 4: 数据选择和索引 - 选择特定的列和行
  • Netty-Netty实现自己的通信框架
  • 【算法刷题】总结规律 算法题目第2讲 [234] 回文链表,因为深浅拷贝引出的bug
  • RabbitMQ如何保证消息不丢失?
  • Random的使用
  • 通过反射修改MultipartFile类文件名
  • Macos下修改Python版本