java吧 关注:1,210,106贴子:12,649,599

【问题】做java也有2年左右了,一直有一个疑惑

只看楼主收藏回复

list 可以代替 set 吗?
真的不解,什么时候使用set


IP属地:北京1楼2016-05-10 10:49回复
    你真的干了两年?


    2楼2016-05-10 10:54
    收起回复
      一个相当于数组,一个相当于集合,应该是这样


      IP属地:上海来自Android客户端3楼2016-05-10 10:59
      收起回复
        set元素不可重复,无序。list可以重复,有序。


        IP属地:北京4楼2016-05-10 11:02
        收起回复
          ,。。。


          来自Android客户端5楼2016-05-10 11:38
          收起回复
            list怎么代替set,比如你装一堆数据进去,需求是重复数据只留一个,这种情况用set肯定要好得多


            IP属地:四川6楼2016-05-10 11:49
            收起回复


              来自Android客户端8楼2016-05-10 12:25
              收起回复
                不懂帮顶


                来自iPhone客户端9楼2016-05-10 12:26
                收起回复
                  知道哈希算法吗,红黑树吗,学了就知道了


                  10楼2016-05-10 12:29
                  收起回复
                    redis集群配置host,post用过


                    来自Android客户端11楼2016-05-10 12:30
                    收起回复
                      哦,对了,hashset里有个linkedhashset集合,保证了唯一和有序,是链表和哈希表的结合,treeset正在学。。


                      来自Android客户端13楼2016-05-10 12:37
                      收起回复
                        建议楼主去学学数据结构


                        来自Android客户端14楼2016-05-10 12:42
                        收起回复


                          IP属地:上海15楼2016-05-10 13:26
                          收起回复
                            void add(Object o){
                            if(!list.contain(o)){
                            list.add(o);
                            }
                            }
                            相当于
                            void add(Object o){
                            set.add(o);
                            }
                            算法上list可以代替set,不过代码会变多,效率变差。此外,两个list可以代替map,同样是代码变多,效率变差。


                            IP属地:福建16楼2016-05-10 14:07
                            收起回复
                              你要删除一个list中的重复元素,可以先装进set,再装回来


                              IP属地:浙江来自Android客户端17楼2016-05-10 14:17
                              收起回复