黑马程序员技术交流社区

标题: List与Set [打印本页]

作者: wb277379322    时间: 2016-9-6 09:30
标题: List与Set
List: 接口,有序,可重复,带索引
        ArrayList:数组结构,增删慢,查找快
        LinkedList: 链表结构,增删快,查找慢,包含首尾操作的方法
        Vector: 数组结构,增删慢,查找慢,安全!包含枚举的方法
       
        常用方法:带索引的方法,记得越多越好
Set: 接口,不能重复,不带索引
        HashSet:无序、不可重复,不带索引
        LinkedHashSet:可预测迭代顺序、不可重复,不带索引
       
        判断元素唯一性:
                ArrayList的contains方法,会通过集合内元素的equals方法判断是否有重复元素。  用参数传进来的元素依次与老元素比较
               
                HashSet的add方法在添加时,由于HashSet不能存放重复元素,所以会判断是否有重复元素。
                判断规则:
                        先判断新元素与集合内已经有的旧元素的HashCode值
                        如果不同,判断元素不同。
                        如果相同,再判断equals比较结果,返回true则相同,返回false则仍然不同。
                               
                所以当我们不想通过地址值判断两个对象是否相同,而想通过对象的属性内容比较两个对象是否相同时,就需要重写hashCode与equals方法。
                方法逻辑,参见Eclipse帮助重写的hashCode与equals方法  alt+shift+s
               
作者: 袁梦希    时间: 2016-9-6 11:03
{:2_32:}                              继续努力
作者: LShu    时间: 2016-9-6 11:32
路过学习一下^^^
作者: 小菜白白白    时间: 2016-9-6 12:55
挣黑马币主要看发帖获得的吗
作者: 流空有痕    时间: 2016-9-6 12:57
黑马币你在哪?快快到大哥兜里来




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2