最近在学习think of java
发现了以前自己很多问题,
其中最让我好笑的,也最为奇特的是Set
今天说说,自己Set所犯的错
对于,刚开始学习容器来说的小伙伴,十分高兴,因为不用自己实现,链表
但是在学习Set 每个人初学者大概都会忘记复写 hashcode 方法
对于 Set 容器, hashcode是十分必要,不,是一定需要的,
set 是不会保存 重复的值,但是我们一般使用 都是基本类型 eg: String Integer
但是我们,在使用 平时我们使用更多 是类容器的时候,那么,就会出错,平时,可能我们感觉不到,
那是我们在做最近本的事,
SET 是用来 快速查询的,平时我们的思维是 比较 对象的值,但是对于一个专门用来查询的容器,肯定不会这么low
他是通过 hashcode 来查询,和添加,
https://www.cnblogs.com/szlbm/p/5806226.html
就像 TreeSet 保存对象的时候,一定要用 CompareAble 或Compareto
他们表示 这个类具有 比较的能耐,
对于 list 和 map 是通过 ,get[] ,有点想 数组,
而对于set 他是用hodecode 来确定,
需要更多的学习,写不下去了
建议学习 think ofjava
Arrays 和 Collections 工具 类 还Google 工具包 grover.jar
发现了以前自己很多问题,
其中最让我好笑的,也最为奇特的是Set
今天说说,自己Set所犯的错
对于,刚开始学习容器来说的小伙伴,十分高兴,因为不用自己实现,链表
但是在学习Set 每个人初学者大概都会忘记复写 hashcode 方法
对于 Set 容器, hashcode是十分必要,不,是一定需要的,
set 是不会保存 重复的值,但是我们一般使用 都是基本类型 eg: String Integer
但是我们,在使用 平时我们使用更多 是类容器的时候,那么,就会出错,平时,可能我们感觉不到,
那是我们在做最近本的事,
SET 是用来 快速查询的,平时我们的思维是 比较 对象的值,但是对于一个专门用来查询的容器,肯定不会这么low
他是通过 hashcode 来查询,和添加,
https://www.cnblogs.com/szlbm/p/5806226.html
就像 TreeSet 保存对象的时候,一定要用 CompareAble 或Compareto
他们表示 这个类具有 比较的能耐,
对于 list 和 map 是通过 ,get[] ,有点想 数组,
而对于set 他是用hodecode 来确定,
需要更多的学习,写不下去了
建议学习 think ofjava
Arrays 和 Collections 工具 类 还Google 工具包 grover.jar