摘要: 今天的主角是HashSet,Set是什么东东,当然也是一种java容器了。 那么今天的HashSet它又是怎么一回事的,他的存在又是为了解决什么问题呢? 先来看下Set的特点:Set元素无顺序,且元素不可以重复。 。想到了什么?无顺序,由于散列的缘故;不可重复,HashMap的key就是不能重复的。 阅读全文
posted @ 2016-01-28 23:08 vn2015 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 前面分析了HashMap的实现,我们知道其底层数据存储是一个hash表(数组+单向链表)。接下来我们看一下另一个LinkedHashMap,它是HashMap的一个子类,他在HashMap的基础上维持了一个双向链表(hash表+双向链表),在遍历的时候可以使用插入顺序(先进先出,类似于FIFO),或 阅读全文
posted @ 2016-01-28 23:05 vn2015 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 前面了解了jdk容器中的两种List,回忆一下怎么从list中取值(也就是做查询),是通过index索引位置对不对,由于存入list的元素时安装插入顺序存储的,所以index索引也就是插入的次序。 Map呢是这样一种容器,它可以存储两个元素键和值,根据键这个关键字可以明确且唯一的查出一个值,这个过程 阅读全文
posted @ 2016-01-28 20:28 vn2015 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 之前讲了两种List,一种基于数组实现的ArrayList,一种基于链表实现的LinkedList,这两种list是我们工作中最常用到的List容器。当然数组和链表也是两种常见的基本数据结构,其他基本数据结构还有堆栈、队列、树等,对java容器的学习,也可以看做是对数据结构的学习和使用。 在Arra 阅读全文
posted @ 2016-01-28 20:07 vn2015 阅读(117) 评论(0) 推荐(0) 编辑
摘要: LinkedList是基于链表结构的一种List,在分析LinkedList源码前有必要对链表结构进行说明。 1.链表的概念 链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为单向链表和双向链表,而单向/双向链表又可以分为循环链表和非循环链表,下面简单就这四种链表进行图解说明。 1 阅读全文
posted @ 2016-01-28 20:04 vn2015 阅读(236) 评论(0) 推荐(0) 编辑
摘要: ok,在我们写程序的时候常常要对大量的对象进行管理,比如查询,遍历,修改等。jdk为我们提供的容器位于java.util包,也是我们平时用的最多的包之一。 但是为什么不用数组(其实也不是不用,只是不直接用)呢,因为数组的长度需要提前确定,而且不能改变大小,用起来手脚受限嘛。 下面步入正题,首先我们想 阅读全文
posted @ 2016-01-28 00:46 vn2015 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、Treap等。 最小二叉平衡树的节点的公式如 阅读全文
posted @ 2016-01-27 16:50 vn2015 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 运算符优先级表优先级运算符结合性1() [] .从左到右2! +(正) (负) ~ ++ 从右向左3 / %从左向右4+(加) (减)从左向右5<< 从左向右6< <= = instanceof从左向右7== !=从左向右8&(按位与)从左向右9^从左向右10|从左向右11&&从左向右12||从左向... 阅读全文
posted @ 2016-01-18 23:39 vn2015 阅读(198) 评论(0) 推荐(0) 编辑
摘要: intpartition(intarr[],intleft,intright){inti = left, j = right;inttmp;intpivot = arr[(left + right) / 2];while(i pivot) j--;if(i <= j) { tmp = arr[i]... 阅读全文
posted @ 2015-11-30 13:49 vn2015 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 安装deb包常使用到的命令dpkg,dpkg -i package.deb安装包dpkg -r package删除包dpkg -P package删除包(包括配置文件)dpkg -L package列出与该包关联的文件dpkg -l package显示该包的版本dpkg –unpack packag... 阅读全文
posted @ 2015-11-28 20:02 vn2015 阅读(127) 评论(0) 推荐(0) 编辑