explain学习

explain

首先我们还是创建一个表,构造一些数据。

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255)  NOT NULL DEFAULT '',
  `age` int(11)  NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `idx_name_age` (`name`,`age`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;


insert into student(name,age)
values
('yt1', 21),
('yt7', 22),
('yt6', 21),
('yt4', 23),
('yt9', 25),
('yt3', 22);

反转链表

题目非常的简单,让你反转一个单向链表.比如说原来的链表是1->2->3->4->5->null翻转后的链表就应该是null-<1-<2-<3-<4-<5,但是有人可能认为翻转后是5->4->3->2->1->null,但是这题我们要求保证原来的顺序不能变.
好了,弄清楚题目的要求,我们来分析下吧




HashMap深入学习

本文主要是在学习了这篇文章之后( https://javadoop.com/post/hashmap ), 自己对 hashmap 有了更深认识 这位大佬写得非常棒,自己再参照 jdk 源码学习梳理吸收一下。

数据结构

我们都知道数组的查询效率高插入删除效率低,链表的插入删除效率高查询效率低,hashmap是组合了数组和链表的优点,插入和删除都在O(1)的时间复杂度




(图片来自维基百科)