- 博客(21)
- 收藏
- 关注
原创 迭代器Iterator的简单实现
一、一个简单的 Iterator 使用示例 List list= new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); //(1)通过循环遍历List for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } //(2)
2017-12-21 15:48:49
901
原创 equals 和 hashCode
1. 为什么要关注equals() 方法和 hashCode() 方法? 程序中常常会碰到需要比较两个对象的内容是否相等、是否为同一个对象的情况。例如:Collection类对象在调用remove、contains等方法时,需要比较对象是否相等,这会涉及到对象类型的 equals() 方法和 hashCode() 方法。2. Java中规定:两个内容相同的对象,应该具有相等的 hashCodes。
2017-12-20 21:38:24
302
原创 Java中Map类的基本实现
Map接口:key-value对,底层实现——使用数组+链表存储键值对 主要实现类:HashMap(线程不安全,效率高)、HashTable(线程安全) /** * 自定义Map的升级版 * 1、使用哈希码,确定新的键值对应该放在数组中的哪个位置(单纯的使用哈希码确定位置,会存在冲突) * 2、所以,使用“数组+链表”实现,没有冲突地存储键值对(每一个数组元素都是一个链表对象,该链表中的
2017-12-20 20:53:09
957
原创 Java中AyyarList类的基本实现
ArrayList:底层用数组实现,线程不安全,效率高。所以,查询快,插入、删除慢。一般用AyyayList就够了。 LinkedList:基于链表实现,线程不安全,效率高。所以,查询慢,插入、删除快。 Vector:基于数组实现。线程安全的,效率低。只有在多线程情况时才是用Vector。 /** * 自己实现一个ArrayList,帮助我们更好地理解ArrayList类的底层结构
2017-12-20 16:46:17
1790
原创 4.图的基本概念
本文主要对图的一些基本概念进行整理,参考书籍《大话数据结构》。 图 想象一下我们生活中的地图,它用圆点、线、文字等等很多符号去表示省市、山川、河流等等,这些符号构成了我们的地图,我们可以沿着线从一个地方找到另外一个地方...地图是一种比较复杂的图,本文我们只介绍简单的图,由有限个顶点和顶点之间的边组成。 图(Graph):由顶点的有穷非空集合和顶点之间边的
2017-11-24 10:19:25
370
原创 3.散列表
一、基于拉链法的散列表 1. 拉链法:将大小为M的数组中每个元素指向一个链表,链表中的每个结点都存储了散列值为该元素的索引的键值对。 (就像从数组中拉出来的一条链一样~发生冲突的元素都被存储在链表中了!) 2. 基本思想 选择足够大的M,使得所有链表都尽可能地短,以保证高效地查找。查找分两步:首先根据散列值hash(key)找到对应的链表st
2017-11-23 22:00:03
552
原创 2.Java定义二叉树、二叉搜索树和Huffman树
二叉树定义:package com.yuan; public class BinTreeNode { private Object data; //数据域 private BinTreeNode parent; //父结点 private BinTreeNode lChild; //左孩子 private BinTreeNode rChild; //右孩子 priva
2017-11-20 21:51:56
362
原创 1.Java实现各种排序
下文是根据《算法-第四版》编写的排序代码,与大话数据结构中可能有出入,但思想是一样的,灵活多变的算法呀! package com.yuan; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; imp
2017-11-20 20:17:55
496
原创 循环链表(约瑟夫问题的衍生问题)
问题描述: 编号为1~N的N个人按顺时针方向围坐一圈,每个人持有一个密码(正整数,可以自由输入),开始任选一个正整数作为报数上限值M,从第一个人按照顺时针方向自1开始顺序报数,报到M时停止报数。报M的人出列,将他的密码作为新的上限值M,从他顺时针方向的下一个人开始从1报数,如此下去,直至所有人出列为止。 #include #include #include using namespace
2017-10-23 11:16:23
427
原创 sql server学习笔记-day6(如何在java程序中操作数据库?)
前面已经学习了什么是数据库和对数据的一些操作方法,那么,我们应该如何在java程序中操作sql server数据库呢? 期望目标: 1.掌握sql server数据库的备份和恢复技巧 2.掌握java对表的crud(增删改查)操作 3.掌握 Statement 和 PreparedStatement 类 4.能完成一般的java数据库编程任务 1.数据库的备份与
2017-10-21 10:55:46
464
原创 sql server学习笔记-day5
--维护数据的完整性 “约束” --创建一张表 create table test1 (test1ID int primary key identity(1,1), --主键值自增长模式,插入(insert)时可以不指定主键值 testname nvarchar(30) not null, --不为空 testpass nvarchar(30) not null, testage int -
2017-10-20 21:19:06
566
原创 删除一张表中的重复行和左外连接右外连接
create table cat (catId int, catName nvarchar(40)) insert into cat values(2,'White') select *from cat --①把cat记录distinct后的结果放入到临时表#temp中(into) select distinct * into #temp from cat --②把cat表的数据清空,但表没有被
2017-10-18 16:00:38
1004
原创 sql server学习笔记-day4
--今天讲”多表查询“ select * from dept select * from emp --显示sales部门所有员工的情况 select * from emp,dept where dept.depName='sales' and dept.depno=emp.depno --显示雇员名,雇员工资,及所在部门的名字,并按部门编号排序 --如果两张表都有相同名字的字段,则需要带表名
2017-10-18 15:58:52
727
原创 sql server学习笔记-day2
--drop table clerk create table clerk (cleId int primary key, cleName nvarchar(50), age int) insert into clerk values(1,'贾宝玉',18) --不能重复插入主键值相同的数据 --insert into clerk values(1,'贾宝',15) insert into cl
2017-10-16 15:55:35
405
原创 sql server学习笔记-day3
--创建部门表 create table dept (depno int primary key, depName nvarchar(30), depLocal nvarchar(30)) --创建员工表 create table emp (empno int primary key, ename nvarchar(30), job nvarchar(30), mgr int, hiredate
2017-10-16 15:13:59
370
原创 sql server学习笔记-day1
--创建数据库 create database WXY --创建表 use WXY --指定在某个数据库中创建表 go create table Hero (heroID int , --排序 heroName varchar(50) , --姓名 heroNickname varchar(50) , --绰号 sex char(2) , --性别 sal int --薪资 ) --
2017-10-16 11:49:30
336
matconvnet
2017-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
6