黑马程序员技术交流社区
标题:
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