1. TreeSet 以有序状态保持并可防止重复。
HashMap 可用成对的name/value 来保存于取出。
LinkedList 正对经常插入或删除中间元素所设计的高效率集合。
HashSet 防止重复的集合,可快速地寻找相符的元素。
LinkedHashMap 类似HashMap,但可记住元素插入的顺序,也可以设定成依照元素上次存取的先后顺序来排序。
2. 泛型意味着更好的类型安全性。运用泛型就可以创建类型安全更好的集合,让问题尽可能在编译期间就能抓到,而不会
等到执行期才冒出来。
3. public <T extends Animal> void takeThing(ArrayList<T> list) 跟
public void takeThing(ArrayList<Animal> list) 的区别。
上面的方法表示任何 Animal 类或者其子类都是可以的,
下面的则表明只能是 Animal 类型的。
4. 以泛型的观点,extends 代表 extend 或 implement。
5. List
对付顺序的好帮手。
Set
注重独一无二的特质。
Map
用 key 来搜索的专家。key 可以引用相同的对象,但是 key 本身不能重复。
6. 引用相等性 堆上同一对象的两个引用。想要知道两个引用是否相等,可以使用 == 来比较变量上的字节组合。
对象相等性 堆上两个不同对象在意义上是相等的。
如果想要把两个不同的 song 对象视为相等的,就必须覆盖过 Object 继承下来的 hashCode() 方法与 equals()方法。
7. HashSet 通过 hashCode() 来判断一个对象是否已经被加入了,当 hashCode 是相异的,则hashSet 认为两个对象不可能
相同。当HashSet 找到相同 hashCode 的两个对象,它会调用 equals 来判断两个对象是否真的相同。如果两者相同,
则HashSet 就会知道要加入的项目已经重复了。add()方法会返回值告诉你是否添加成功。
8. hashCode() 的默认行为是对在 heap 上的对象产生独特的值。如果你没有override 过hashCode 则该class 的两个对象
怎样都不会被认为是相同的。
equals() 的默认行为是执行 == 的比较,也就是会去测试两个引用是否对 heap 上同一个对象。如果equals() ,
没有被覆盖过,两个对象则永远也不会被视为相同的。因为不同的对象有不同的字节组合。
a.equals(b) 必须与 a.hashCode() == b.hashCode() 等值
但 a.hashCode() == b.hashCode() 不一定要与 a.equals(b) 等值。
9. hashcode 是用来缩小寻找成本的,并不能唯一的确定一个对象。真正的是否相等还是需要调用 equals() 来判断。
10. TreeSet 的元素必须是 comparable
1)集合中的元素必须是有实现 comparable 接口 或者
2)使用重载、取用 Comparator 参数的构造函数创建 TreeSet
11. Map 的 key 通常是 String 也可以是任何 Java 的对象。
12. 数组的类型是在运行期间检查的,但是集合的类型是在编译期间。
当使用带有 <?> 时,编译器是不会让我们加入任何东西到集合中的。
分享到:
相关推荐
java Collection类整理
8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.java...
java 集合类学习笔记 arraylist hashmap linkedList hashset
java泛型集合 java集合 集合 java Collection 排序 集合排序
本书介绍了collect的前世今生,是初学者的一本较好的教程。
java Collection&Map
主要介绍了Java Collection 移除元素方法及注意事项,通过一个简单实例给大家讲解,需要的朋友可以参考下
Javacollection里边对java中的集合做了详细说明有图例,有实例.
主要介绍了Java Collection集合遍历运行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
下面小编就为大家带来一篇浅谈java Collection中的排序问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
PDF文件+源代码 非常清晰,关于API和数据结构的书。 简洁明了,和不错的入门书籍。 找了很久。
收集的一些Java高级编程实例源码:文本计数、线程计数、读取控制台字符串、服务器端发送数据、异常处理、文件目录操作
第六,Collection 和 Collections的区别。 你千万别说一个是单数一个是复数。 第七,什么时候用assert。 API级的技术人员有可能会问这个。 第八,GC是什么? 为什么要有GC? 基础。 第九,...
一个收集(Collection)是一个对象容器。几种容器用于不同的场合。
Java集合Collection、List、Set、Map使用详解
下载大神的理解,分享给你们
集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map,这里主要记录一下Collection集合。 Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个...
Java Collection Framework – Java Lecture 23
"Java集合总结之Collection整体框架"用到的图片