JAVA集合总述
在对Java的学习中,集合是一个不可避免的话题。
此文章中只对集合的大框架进行概述,在后续文章中对其中的方面进行详细的描述。
Java集合总的可以分为两大类:1、Collection(单列元素集合);2、Map(双列元素集合);
具体如下:
List,Queue:有序,元素可重复
Set:不可重复
Map:无序
特别说明:Queue队列更多的是将其归属到数据结构中,但是它也是Collection的一个子接口,与list,set同一级别。
除此之外还有一种Iterator迭代器。
List与Set
1、对比:
2、List(列表):
3、Set(集合):
Map
Map用于保存具有映射关系的数据,key不能重复。
一:HashMap和HashTable比较
- 不同点:HashTable是同步的,一些方法加入了synchronized关键字,线程安全。而且它不允许空值的放入。HashMap相反。
- 相同点:(1)用作key的对象必须实现hashCode和equals方法;(2)不能保证键值对顺序;(3)尽量不要使用可变对象作为他们的key值。
二:TreeMap
实现sortMap接口,基于红黑树对所有的key进行排序。排序方法:自然排序和定制排序。
三:IdentityHashMap和HashMap的具体区别:
- identityHashMap 使用“==”判断两个key是否相等,
- HashMap使用equals方法比较key值。