Java中的集合类是一种工具类,类似与“容器”的概念;可以用来存储任意数量的具有共同属性的对象

集合与数组的比较

Java集合框架体系结构

其中:
list为“序列”、queue为“队列”:这两者中的元素是有序、可重复的;
set为“集”:其中的元素是无序的、不可重复的;
Arraylist为“数组序列”、LinkedList为“链表”、HashSet为“哈希集”、HashMap为“哈希表”(map集合的实现类)
其中:collection中存储的是独立的对象,而map中存储的是<key,value>映射关系的键值对(entry)

List接口及其实现类

ps:当一个对象存入集合时,都会变成object类型;所以在将其取出时,需要进行类型转换。
集合中的元素是某些对象,其实准确点说应该是对象的引用,这些引用指向特定的对象;
集合中的元素具有某种特定类型,当放入一个其他类型的元素进去时,系统不会报错,但是当将该元素取出时,会出现类型错误的异常;所以可以使用泛型< E >来规定该集合中可以添加的元素的类型,从而会对代码进行编译期间的检查,当尝试添加异常类型的元素,系统就会报错,编译不过去;

泛型集合中,不能添加泛型规定的类型及其子类型以外的对象,否则会报错!
泛型集合中的限定类型:不能使用基本类型;但是可以通过使用包装类限定允许存入的基本数据类型;

在集合遍历方法中,List可以使用foreach()方法和iterator()方法或者get()方法;而Set集合中元素是无序的,所以set集合的遍历方法只能使用前两个,不能使用get()方法;

set中,添加某个对象,无论添加多少次,最终只会保留一个该对象(的引用),并且,保留的是第一次添加的那一个;
set中可以添加空对象null



key和value可以为任意类型的数据;
即entry类型(map的一个内部类)的对象实例包括key部分和value部分;


sort()方法中比较的元素必须继承comparable接口,否则不能对其进行排序;



网友评论