zzbert
2020-03-27 14:29
采纳率: 50%
浏览 1.6k
已采纳

Java集合怎么存放有序不重复的对象?

如题,怎么存放一个对象集合,是有序的,集合中的对象也是不重复的额,最好可以高效一些。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • Rogue的小窝 2020-03-27 14:41
    已采纳

    new一个list和一个set,先将数据插入到set中,如果插入成功在插入到list中:
    if(set.add(data)){
    list.add(data);
    }
    最后返回list

    点赞 3 打赏 评论
  • 你说的这种情况有,但是非常少,要么有序,要么不重复,你两个加一起也行,Java提供了LinkedHashSet,set本身就是不可重复的

    LinkedHashSet是Set集合的一个实现,具有set集合不重复的特点,同时具有可预测的迭代顺序,也就是我们插入的顺序

    TreeSet可以对Set集合中的元素进行排序,元素自身具备比较功能,即自然排序。
    图片说明
    图片说明

    点赞 3 打赏 评论
  • 有头发的猿 2020-03-27 14:53

    你想要对象不重复可以使用集合中的contain函数去判断,查看源码可以知道 他判断的是两个对象的地址,所以你可以重新对象的equals方法,改成你自己的判断。

    点赞 2 打赏 评论
  • y_jia_feng 2020-03-27 14:35

    要存进list的时候,将list,foreach循环,把里面对象取出来跟要存的对象进行对比,如果不重复就add进去

    点赞 打赏 评论
  • 紫气天堂 2020-03-27 14:55

    讲你的类重写hashcode()方法,存数据的时候调用这个方法判断得到的哈希值,如果两个值一样,说明是同一个对象,不一样的话在进行存储。

    点赞 打赏 评论
  • 残yue1 2020-03-27 16:03

    linkedHashSet ?

    点赞 打赏 评论

相关推荐 更多相似问题