###问题描述
今天在做项目时,老大过来瞄了一眼代码,对其中使用Set表示不满.他认为,应该使用ArrayList,自己手动去去重以保证插入时的顺序.
当场我第一个想到的是使用TreeSet保证顺序.但是TreeSet是按自然顺序排序的,没有办法满足我的需求.
在下班后骑上我的明智小chei子之后(总觉得骑车的时候自己安静的思考很容易想到各种乱七八糟的方法),突然想到Java中有一个数据结构自从学了之后就从没用过 LinkedHashSet
.
仔细回想了一下LinkedHashSet,是Set类型,同时使用链表来维护集合中的顺序. 会去重又维护了插入顺序,就他了!
记录一下Set各个实现的区别:
HashSet,TreeSet和LinkedHashSet的区别
看来以后不光要学习框架知识,基础知识也要兼顾.话说回来,int类型占几个字节来的.
2019年8月10日13:02:15
最后还是使用了ArrayList,完全没有合适的理由. 只是因为没见过有人用过
.