Java 集合
Zeus_龙
这个作者很懒,什么都没留下…
展开
-
Java集合总体概述
(一)集合与数组数组:(存基本数据类型)-->存对象的一种容器,长度固定,【不适合在对象数量未知的情况下使用】集合:(存对象,对象类型可以不一样)-->长度可变,可在多数情况下使用。(二)层次关系1.0 如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口: 2.0 其中集合的 详解①Collection接口【集合类 ”根接口“;Java中没有这个接口的直接实现...原创 2018-03-24 21:43:57 · 178 阅读 · 0 评论 -
Java集合的使用确定,和常见方法
(一)确定使用哪种类型集合?1.0 看需求---->是否是键值对象形式: 是:Map 键是否需要排序--->是:TreeMap;否: HashMap 不知道也用HashMap。 否: Collection 元素是否唯一---> 是:Set--->元素是否排序--...原创 2018-03-24 21:44:44 · 347 阅读 · 0 评论 -
Java中的B-Tree,B+Tree,B*Tree
(一)什么是B-Tree、B+Tree、B*Tree?what?(1)B-Tree1.0 是一种多路搜索树(并不是二叉的) ①任意非叶子节点最多有M个儿子;且M>2; ②根结点的儿子数为[2,M]; ③除根结点以外的非叶子结点的儿子数为[M/2, M]; ④每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字) ⑤非叶子结点的关键字个数=指向儿子的指针个数-1; ⑥...原创 2018-03-24 21:45:43 · 3335 阅读 · 0 评论 -
二叉树、B-Tree、B+Tree、B*Tree的小结
(一)小结①二叉树:二叉树,每个结点只存储一个关键字,等于则命中,小于走左边,大于走右边;②B-Tree:多路搜索树,每个结点存储【M/2-1,M-1]个关键字,非叶子结点存储指向关键字范围的子节点;所有关键字在整棵树中出现【且只出现一次】,非叶子结点可以命中。③B+Tree:在B-Tree基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;B+Tree总是...原创 2018-03-24 21:46:44 · 993 阅读 · 0 评论 -
Map接口的实现类---Hashtable和HashMap以及TreeMap的区别(java复习)
Map与List、Set接口不同,它是由一系列键值对组成的集合,提供了key到Value的映射。同时它也没有继承Collection。在Map中它保证了key与value之间的一一对应关系。也就是说一个key对应一个value,所以它不能存在相同的key值,当然value值可以相同。实现map的有:HashMap、TreeMap、HashTable、Properties、EnumMap。Hash...转载 2018-03-24 21:48:20 · 259 阅读 · 0 评论 -
HashMap JDK 1.8 VS JDK1.7 增加性能
一、传统 HashMap的缺点(1)JDK 1.8 以前 HashMap 的实现是 数组+链表,即使哈希函数取得再好,也很难达到元素百分百均匀分布。(2)当 HashMap 中有大量的元素都存放到同一个桶中时,这个桶下有一条长长的链表,这个时候 HashMap 就相当于一个单链表,假如单链表有 n 个元素,遍历的时间复杂度就是 O(n),完全失去了它的优势。(3)针对这种情况,JDK 1.8 中引...转载 2018-04-02 15:12:47 · 1471 阅读 · 0 评论 -
HashMap,LinkedHashMap取值特点
(一)HashMap取值--->不是按照插入顺序HashMap<String,Integer> hm=new HashMap<String, Integer>();hm.put("大学语文",3);hm.put("英语",1);hm.put("音乐鉴赏",5);hm.put("数学",2);hm.put("形式政策",4);fo原创 2018-04-02 15:59:23 · 8212 阅读 · 0 评论