集合框架
在我们没认识集合框架之前,都是使用数组存储数据的。
数组的长度是固定的,如果新增一条数据数组放不下,如果减少一条数据数组会造成浪费,这也是我们为什么要用集合框架的原因。
集合框架存储数据比数组更加灵活,效率更高。如果程序不知道程序运行时会需要多少对象,或者需要更复杂的方式存储对象,可以使用集合来解决。
java集合框架简图
集合框架包含三大块内容:对外的接口,接口的实现和对集合运算的算法。
1.接口:表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。
2.实现类:集合接口的具体实现,是重用性很高的数据结构。
3.算法:用来根据需要对实体类中的对象进行计算,比如查找,排序。
同一种算法可以对不同的集合实现类进行计算,这是利用了“多态”。 重用性很高。
ArrayList:有序可重复,查询效率比较高,增加和删除效率比较低。图片中的"<>"是泛型。用来存储特定类型的的对象。
LinkedList:增加和删除比ArrayList效率快,因为LinkedList是无序可重复的,所以添加和删除数据比较快。他也有一些他特有的方法。
Map存储一组键值对对象。key是键,value是值。key不要求有序,不允许重复。value不要求有序,但可以重复。 最常用的Map实现类是HashMap。
HashMap:是重速度,轻安全,是线程非安全的。