JAVA提高十八:Vector&Stack深入分析】的更多相关文章

前面我们已经接触过几种数据结构了,有数组.链表.Hash表.红黑树(二叉查询树),今天再来看另外一种数据结构:栈. 什么是栈呢,我们先看一个例子:栈就相当于一个很窄的木桶,我们往木桶里放东西,往外拿东西时会发现,我们最开始放的东西在最底部,最先拿出来的是刚刚放进去的.所以,栈就是这么一种先进后出( First In Last Out,或者叫后进先出) 的容器,它只有一个口,在这个口放入元素,也在这个口取出元素.那么我们接下来学习JDK中的栈. 一.Vector&Stack的基本介绍和使用 我们先…
首先想说的是关于HashMap源码的分析园子里面应该有很多,并且都是分析得很不错的文章,但是我还是想写出自己的学习总结,以便加深自己的理解,因此就有了此文,另外因为小孩过来了,因此更新速度可能放缓了,(#^.^#) 一.HashMap的简单使用 学习任何一个集合,首先最基本的是学会使用,因此首先我们看下如何使用HashMap,以及我们经常使用的方法又有哪些,代码如下: package study.collection; import java.util.HashMap; import java.…
上一篇容器元素比较Comparable&Comparator分析的时候,我们提到了TreeMap,但没有去细致分析它,只是说明其在添加元素的时候可以进行比较,从而使得集合有序,但是怎么做的呢?我们下面来进行分析. 一.认识TreeMap 之前的文章讲解了HashMap,它保证了以O(1)的时间复杂度进行增.删.改.查,从存储角度考虑,这两种数据结构是非常优秀的. 尽管如此,HashMap还是有自己的局限性----它们不具备统计性能,或者说它们的统计性能时间复杂度并不是很好才更准确,所有的统计必须…
前面我们介绍了HashMap,Hashtable,那么还有一个hash家族,那就是HashSet;在讲解HashSet前,大家先要知道的是HashSet是单值集合的接口,即是Collection下面的,而HashMap是Map下面的,但是它和HashMap又是有关系的,所以在使用的时候大家需求要注意,重点还是要对下面的图需要熟悉,好了,我们开始分析. 一.HashSet 定义 翻看源码,HashSet的定义如下: public class HashSet<E> extends Abstract…
爪哇城中   “喂,你等等我啊”少女气喘吁吁的喊道   “大小姐,你可快点吧,报名马上就要结束了.”   这是爪哇城一年一度的大选比赛,被选上的人会留下来任职,享有名誉和金钱,所以大家都在积极准备.   两个月前 ,城楼上   “灵儿,我想去参加今年的选举比赛”少年突然开口说道.   “咦,你怕是石乐志吧,今年的选举有多难你不知道嘛!”   “这我当然知道,不过你看”少年指向城楼门口   “连隔壁家的王小胖都去参加了,他一个小白都敢去,我这两三年的功力可比他强多了”   “你个呆瓜,亏你还和小胖…
可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类. public class OuterClass { private String name ; private int age; public String getName() { return name; } public void set…
前面一章节,我们介绍了集合的类图,那么本节将学习Collection 接口中最常用的子类ArrayList类,本章分为下面几部分讲解(说明本章采用的JDK1.6源码进行分析,因为个人认为虽然JDK1.8进行了部分改动,但万变不离其宗,仍然采用的JDK1.6的引子进行的优化,因此学会了1.6对于1.8也就理解了). 一.ArrayList 的常见功能 在分析ArrayList的源码前,我们先看下ArrayList的常见的功能: package study.collection; import ja…
因为最近工作太忙了,连续的晚上支撑和上班,因此没有精力来写下这篇博客,今天上午正好有一点空,因此来复习一下不太常用的集合体系大家族中的几个类:WeakHashMap&EnumMap&LinkedHashMap&LinkedHashSet,以便用到的时候不至于是什么都不知道.好了,言归正传,下面我们开始依次学习下: 一.WeakHashMap 1.WeakHashMap的结构 java.lang.Object ↳ java.util.AbstractMap<K, V> ↳…
我们经常用容器来存放元素,通常而言我们是不关系容器中的元素是否有序,但有些场景可能要求容器中的元素是有序的,这个时候用ArrayList  LinkedList  Hashtable HashMap HashSet 这些容器本身存放的时候就没有办法做到了,这个时候我们有两种思路:第一种思路:对刚刚我们提到的容器类的元素从新排序后存放,就是后面我们要介绍的利用Collections.sort 方法进行排序,第二种思路:是容器在添加元素的时候就进行大小的比较从而来保证元素的排序.下面我开始来详细介绍…
--------------- ASP.Net+Android+IO开发S..Net培训.期待与您交流! --------------- 第一  概述 一.概述: 1.网络模型:OSI参考模型和TCP/IP参考模型 OSI参考模型(从上到下) --> TCP/IP参考模型 应用层 ------------------> 表示层   应用层 会话层------------------> 传输层------------------>传输层 网络层------------------&g…