如题,怎么存放一个对象集合,是有序的,集合中的对象也是不重复的额,最好可以高效一些。
new一个list和一个set,先将数据插入到set中,如果插入成功在插入到list中:
if(set.add(data)){
list.add(data);
}
最后返回list
你说的这种情况有,但是非常少,要么有序,要么不重复,你两个加一起也行,Java提供了LinkedHashSet,set本身就是不可重复的
LinkedHashSet是Set集合的一个实现,具有set集合不重复的特点,同时具有可预测的迭代顺序,也就是我们插入的顺序
TreeSet可以对Set集合中的元素进行排序,元素自身具备比较功能,即自然排序。
你想要对象不重复可以使用集合中的contain函数去判断,查看源码可以知道 他判断的是两个对象的地址,所以你可以重新对象的equals方法,改成你自己的判断。
要存进list的时候,将list,foreach循环,把里面对象取出来跟要存的对象进行对比,如果不重复就add进去
讲你的类重写hashcode()方法,存数据的时候调用这个方法判断得到的哈希值,如果两个值一样,说明是同一个对象,不一样的话在进行存储。
linkedHashSet ?