集合框架 为什么要用集合而非数组: 虽然数组是保存一组对象最有效的方式,但是数组具有固定尺寸,但在写程序时并不知道将需要多少个对象.而集合能够自动地调整自己的尺寸. 打印数组时,必须使用Arrays.toString(),但是打印集合可以直接打印. 创建集合对象如果不使用泛型,那么默认可以存放所有Object对象 使用泛型可以应用向上转型机制. Collection:一个独立元素的序列 ​ Collection接口包括以下方法: boolean add(E a); boolean addAll(…
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一章-初识java JAVA基础第二章-java三大特性:封装.继承.多态 JAVA基础第三章-类与对象.抽象类.接口  JAVA基础第四章-集合框架Collection篇 在上一章节中,我们讲了集合框架的Collection部分,下面我们来讲一下Map接口 我们再看一下集合框架的结构图 map接口的…
第10讲 Java集合框架 1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1 List 1.2.2 Set 1.2.3 Map 2.具体内容 2.1.Java集合框架 2.1.1 为什么需要集合框架 因为我们在开发中发现Java中的数组 不好用.Java中的数组有一个问题:定容.我们一旦要存储的数据超出了数组的长度,就需要对数组进行扩容.所以数组在使用的时候不方便,那么Java的研发人员,就基于数组进行了一次封装,从而出现了集合框架. 集合框架,就是一些Java的类.这些类是用来代替J…
相信大多数的程序员都知道,Dictionary.Vertor.Stack和Properties这些类被用来存储和操作对象组.但是他们缺少一个核心的主题的. 集合框架设计成要满足以下的几个目标 第一条:该框架必须是高性能的,基本集合(动态的数组,链表,树,哈希表)的实现也必须是高效的. 第二条:该框架允许不同的类型的集合,以及类似的方式工作,具有的高度的互操作性. 第三条:对一个集合的扩展性和适应性来说必须是能够简单实现的. 因此,整个的集合就是围绕着一组标准的接口类来实现的.当然,你可以直接使用…
一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类. 2.集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础. 3.抽象类:5个抽象类(长虚线表示),对集合接口的部分实现.可扩展为自定义集合类. 4.实现类:8个实现类(实线表示),对接口的具体实现. 5.Col…
 java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/article/java-hashmap-java-collection.html 签名(signature) public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Se…
来源:史上最清晰的红黑树讲解(上) - CarpenterLee 作者:CarpenterLee(转载已获得作者许可,如需转载请与原作者联系) 文中所有图片点击之后均可查看大图! 史上最清晰的红黑树讲解(上) 本文github地址 本文以Java TreeMap为例,从源代码层面,结合详细的图解,剥茧抽丝地讲解红黑树(Red-Black tree)的插入,删除以及由此产生的调整过程. 总体介绍 Java TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进…
之前有一篇笔记,讲的是集合和泛型,这几天看Java集合中几个接口的文档,思绪非常混乱,直到看到Oracle的“The Collections Framwork”的页面,条理才清晰些,现在进行整理. 一.为什么需要集合? 应用程序中经常需要创建很多的对象来完成一定的工作,所以我们需要将这些一定数目的对象组织起来进行统一管理. 对象数组能够满足我们,如果对象的数目是清晰有限且生命周期可知,那么使用对象数组来进行管理是非常简单和直观的. 数组一旦创建,它的容量便固定了,在它的生命周期里再也无法被改变.…
Java集合框架(*Collection)*和数组的排序 ​ 根据约定,在使用java编程的时候应尽可能的使用现有的类库,当然你也可以自己编写一个排序的方法,或者框架,但是有几个人能写得比JDK里的还要好呢?使用现有的类的另一个好处是代码易于阅读和维护.<不愿看到Java开发者再做的10件事>的笔者在第6条提出一个观点:尽量避免自己写排序算法,其观点是:写排序代码的人要么是不知道Java已经提供了你所需的排序算法(或者自己写了个排序的第三方库文件),要么根本不知道Comparable和Comp…
来源:朱小厮 链接:http://blog.csdn.net/u013256816/article/details/50912762 Java集合框架概述 Java集合框架无论是在工作.学习.面试中都会经常涉及到,相信各位也并不陌生,其强大也不用多说,博主最近翻阅java集合框架的源码以及搜索一些相关资料整理出Java集合框架的系列.一方面是做一个总结,方便以后查阅,另一方面希望各位小伙伴能够提出不足之处,我会及时更新修改. 博主从网上抠了一张图,觉得画得还是比较形象的,给大家参考一下. 上述类…