Java 集合框架(常用数据结构)
早在Java 2中之前,Java就提供了特设类。比如:向量(Vector)、栈(Stack)、字典(Dictionary)、哈希表(Hashtable)这些类(数据结构)用来存储和操作对象组。虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题。集合框架是为表示和操作集合而规定的一种统一的标准的...
《数据结构和Java集合框架第三版》读书笔记(三)回溯算法
回溯就是通过一系列位置选择到达目的位置并且在不能到达目的位置时反向退回的策略 回溯法就从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。这个开始结点就成为一个活结点,同时也成为当前的扩展结点。在当前的扩展结点处,搜索向纵深方向移至一个新结点。这个新结点就成为一个新的活结点,并成为当前扩展结...
《数据结构和Java集合框架第三版》读书笔记(一)递归
一,十进制转二进制 计算十进制(12)转二进制 递归函数的设计:双层 外层getBinary()抓异常 内层getBin递归计算 public static String getBin (int n){ if (n <= 1) return Integer.toString (...
Java的Hibernate框架中集合类数据结构的映射编写教程
Hibernate可以将Java中几个内置的集合结构映射为数据库使用的关系模型,下面我们就来看一下Java的Hibernate框架中集合类数据结构的映射编写教程:
Java学习笔记——浅谈数据结构与Java集合框架(第一篇、List)
横看成岭侧成峰,远近高低各不同。不识庐山真面目,只缘身在此山中。——苏轼这一块儿学的是云里雾里,咱们先从简单的入手。逐渐的拨开迷雾见太阳。本次先做List集合的三个实现类的学习笔记List特点:有序,元素可重复。其实它的本质就是一个线性表(下面会说到)先上图,Java集合有Collection体系和...
一起学 Java(三) 集合框架、数据结构、泛型
一、Java 集合框架集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:接口:是代表集合的抽象数据类型。接口允许集合独立操纵其代表的细节。在面向对象的语言,接口通常形成一个层次。实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构。算法:是实现集合接口的对...
【Java】Java集合框架源码和数据结构简要分析——Set和Map
前言 之前一直把集合框架分成Collection和Map来对待,主要是基于储存内容是单列和双列,实际上这样来区分不太正确,set实际上是双列的结构。 现在回顾集合框架,看到很多当初看不到的东西。 现在来看集合框架,一部分是List,一部分是Set和Ma...
【Java】Java集合框架源码和数据结构简要分析——Set和Map
前言 之前一直把集合框架分成Collection和Map来对待,主要是基于储存内容是单列和双列,实际上这样来区分不太正确,set实际上是双列的结构。 现在回顾集合框架,看到很多当初看不到的东西。 现在来看集合框架,一部分是List,一部分是Set和Ma...
《数据结构和Java集合框架第三版》读书笔记(二)——二分法检索
一,在一个数组里搜索某个元素,最容易被想到的是顺序搜索,从头开始搜,直到搜到为止。 最坏情况运行时间和平均运行时间都和n成线性关系 二,二分法检索的递归算法: 要求数组已经进行了排序,一般按照升序 基本思想:假设数据是按升序排序的,对于给定值x,从序列的中间位置开始比较,如果当前位置值等于x,则...
《数据结构和Java集合框架第三版》读书笔记(八)二叉搜索树
一,二叉搜索树的递归定义 t为空。或者 t的左子树的每个元素都小于t的根元素; t的右子树的每个元素都大于t的根元素; t的左子树和右子树都是二叉搜索树 二叉搜索树不允许树中的元素重复 二,BinarySearchTree类的实现 Java集合框架里没有二叉搜索树BinarySearchTree,...
《数据结构和Java集合框架第三版》读书笔记(六)LinkedList双向链表
JDK6和JDK7的LinkedList的算法有一些区别。JDK6是:带哨兵的环形双向链表,JDK7是不带哨兵、但是有first(头节点)和last(尾节点)的双向非循环链表。哨兵的好处是使得代码更简洁,但并不能降低对链表的操作的渐进时间界;坏处是如果有很多较短链表,使用哨兵会造成存储空间的浪费(哨...
《数据结构和Java集合框架第三版》读书笔记(十一)归并排序
排序能有多快用决策树分析。排序n个元素,每种排列有一个叶结点,决策树t总共n!个叶结点。n!≤2^height(t) 所以树的高度height(t) ≥log2(n!)O(log(n!))=O(nlogn) 所以对于基于比较的排序,最好时间不可能比O(nlogn)小。 平均时间也是不可能比O(nlo...
《数据结构和Java集合框架第三版》读书笔记(八)二叉搜索树
一,二叉搜索树的递归定义 t为空。或者 t的左子树的每个元素都小于t的根元素; t的右子树的每个元素都大于t的根元素; t的左子树和右子树都是二叉搜索树 二叉搜索树不允许树中的元素重复 二,BinarySearchTree类的实现 Java集合框架里没有二叉搜索树BinarySearchTree,...
Java基础知识强化之集合框架笔记20:数据结构之 栈 和 队列
1. 栈先进后出解析图:2. 队列先进先出解析图:...
《数据结构和Java集合框架第三版》读书笔记(五)浅复制(shallow copy)和深复制
今天学习ArrayList 一,浅复制 它的复制构造函数和clone()函数均为浅复制(shallow copy),即复制对象的引用。相反的深复制,则是复制对象的本身。 1,复制构造函数 ArrayList (Collection<? extends E> c) 得到了一个新的Array...
java学习日记_79:集合框架之数据结构的讲解和引出List子类的特点
在之前我们讲过一点点的数据结构,那我们现在就来比较详细的讲解数据结构。 数据结构可以分为:栈、队列、数组、链表、树、哈希表; 那我们可以从图下知道前四个: 栈与队列: 数组和链表: List的子类特点: ArrayList: 底层数据结构是数组,查询快,增删慢...
Java学习笔记——浅谈数据结构与Java集合框架(第三篇、Map)
桃李春风一杯酒,江湖夜雨十年灯——寄黄几复之前图上写错了,是Hashtable类。t是小写的,它是个很古老的类,以至于命名都没有那么规范..HashMapHashMap就是存储key-value键值对的集合,是一种映射关系。key中的元素组成了一个Set集合(key无序,不允许重复,可以是null)...