Java避免踩坑:Set对象排重注意避免重复-以commons-csv读取csv文件并排查为例

163 篇文章 2 订阅 ¥15.90 ¥99.00
文章介绍了Java中HashSet如何基于HashMap实现不允许重复元素的集合,以及在数据排重场景下的应用。通过示例展示了使用HashSet进行城市数据排重时,因未重写equals和hashCode方法导致的排重失败问题,强调了解决此问题需要重写这些方法。最后,文章提出了不建议在模型类中包含业务逻辑,并总结了何时使用List、Map或HashSet进行数据存储的选择依据。
摘要由CSDN通过智能技术生成

场景

HashSet

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 允许有 null 值。

HashSet 是无序的,即不会记录插入的顺序。 HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,

则最终结果是不确定的。

在Java语言中,Set数据结构可以用于对象排重,常见的Set类有HashSet、LinkedHashSet等。

比如:

代码中使用HashSet数据结构,为了避免城市数据重复,对读取的城市数据进行强制排重。

这里的数据源从csv文件中读取。

 

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

读取csv文件内容的方式有很多种,这里使用apache的commons-csv的方式。

首先项目中引入依赖

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-csv</artifactId>
            <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值