- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 迭代器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
810
原创 equals 和 hashCode
1. 为什么要关注equals() 方法和 hashCode() 方法? 程序中常常会碰到需要比较两个对象的内容是否相等、是否为同一个对象的情况。例如:Collection类对象在调用remove、contains等方法时,需要比较对象是否相等,这会涉及到对象类型的 equals() 方法和 hashCode() 方法。2. Java中规定:两个内容相同的对象,应该具有相等的 hashCodes。
2017-12-20 21:38:24
254
原创 Java中Map类的基本实现
Map接口:key-value对,底层实现——使用数组+链表存储键值对主要实现类:HashMap(线程不安全,效率高)、HashTable(线程安全)/** * 自定义Map的升级版 * 1、使用哈希码,确定新的键值对应该放在数组中的哪个位置(单纯的使用哈希码确定位置,会存在冲突) * 2、所以,使用“数组+链表”实现,没有冲突地存储键值对(每一个数组元素都是一个链表对象,该链表中的
2017-12-20 20:53:09
905
原创 Java中AyyarList类的基本实现
ArrayList:底层用数组实现,线程不安全,效率高。所以,查询快,插入、删除慢。一般用AyyayList就够了。LinkedList:基于链表实现,线程不安全,效率高。所以,查询慢,插入、删除快。Vector:基于数组实现。线程安全的,效率低。只有在多线程情况时才是用Vector。/** * 自己实现一个ArrayList,帮助我们更好地理解ArrayList类的底层结构
2017-12-20 16:46:17
1699
原创 4.图的基本概念
本文主要对图的一些基本概念进行整理,参考书籍《大话数据结构》。图 想象一下我们生活中的地图,它用圆点、线、文字等等很多符号去表示省市、山川、河流等等,这些符号构成了我们的地图,我们可以沿着线从一个地方找到另外一个地方...地图是一种比较复杂的图,本文我们只介绍简单的图,由有限个顶点和顶点之间的边组成。 图(Graph):由顶点的有穷非空集合和顶点之间边的
2017-11-24 10:19:25
304
原创 3.散列表
一、基于拉链法的散列表1. 拉链法:将大小为M的数组中每个元素指向一个链表,链表中的每个结点都存储了散列值为该元素的索引的键值对。 (就像从数组中拉出来的一条链一样~发生冲突的元素都被存储在链表中了!)2. 基本思想选择足够大的M,使得所有链表都尽可能地短,以保证高效地查找。查找分两步:首先根据散列值hash(key)找到对应的链表st
2017-11-23 22:00:03
426
原创 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
278
原创 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
438
原创 循环链表(约瑟夫问题的衍生问题)
问题描述:编号为1~N的N个人按顺时针方向围坐一圈,每个人持有一个密码(正整数,可以自由输入),开始任选一个正整数作为报数上限值M,从第一个人按照顺时针方向自1开始顺序报数,报到M时停止报数。报M的人出列,将他的密码作为新的上限值M,从他顺时针方向的下一个人开始从1报数,如此下去,直至所有人出列为止。#include #include #include using namespace
2017-10-23 11:16:23
364
原创 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
410
原创 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
481
原创 删除一张表中的重复行和左外连接右外连接
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
934
原创 sql server学习笔记-day4
--今天讲”多表查询“select * from deptselect * from emp--显示sales部门所有员工的情况select * from emp,dept where dept.depName='sales' and dept.depno=emp.depno--显示雇员名,雇员工资,及所在部门的名字,并按部门编号排序--如果两张表都有相同名字的字段,则需要带表名
2017-10-18 15:58:52
593
原创 sql server学习笔记-day2
--drop table clerkcreate 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
339
原创 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
321
原创 sql server学习笔记-day1
--创建数据库create database WXY--创建表use WXY --指定在某个数据库中创建表gocreate table Hero(heroID int , --排序heroName varchar(50) , --姓名heroNickname varchar(50) , --绰号sex char(2) , --性别sal int --薪资)--
2017-10-16 11:49:30
271
matconvnet
2017-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人