想使用Set去重,又想保持插入顺序

###问题描述

今天在做项目时,老大过来瞄了一眼代码,对其中使用Set表示不满.他认为,应该使用ArrayList,自己手动去去重以保证插入时的顺序.

当场我第一个想到的是使用TreeSet保证顺序.但是TreeSet是按自然顺序排序的,没有办法满足我的需求.

在下班后骑上我的明智小chei子之后(总觉得骑车的时候自己安静的思考很容易想到各种乱七八糟的方法),突然想到Java中有一个数据结构自从学了之后就从没用过 LinkedHashSet.

仔细回想了一下LinkedHashSet,是Set类型,同时使用链表来维护集合中的顺序. 会去重又维护了插入顺序,就他了!


记录一下Set各个实现的区别:
HashSet,TreeSet和LinkedHashSet的区别


看来以后不光要学习框架知识,基础知识也要兼顾.话说回来,int类型占几个字节来的.


2019年8月10日13:02:15
最后还是使用了ArrayList,完全没有合适的理由. 只是因为没见过有人用过.


   转载规则


《想使用Set去重,又想保持插入顺序》 echi1995 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
SpringBoot启动时,不想连接mysql SpringBoot启动时,不想连接mysql
在拆分服务的时候,因为当前服务没有使用到mysql数据库。便把mysql配置文件删除。结果报错: *************************** APPLICATION FAILED TO START **************
下一篇 
记录一下自己觉得实用的帖子 (持续更新) 记录一下自己觉得实用的帖子 (持续更新)
使用MongoDB时,因为是使用spring整合,基本是用Criteria类进行查询.有时会出现一些Criteria类不能支持的情况,帖子里介绍了BasicQuery类使用起来和直接用MongoDB差不多.Spring Data Mong
  目录