- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 Java中Map根据键(Key)和值(Value)进行排序
按键排序可以直接使用TreeMap(默认按照键的升序)Map<Integer, Person> map = new HashMap<Integer, Person>();TreeMap treemap = new TreeMap(map);按值排序假设已知一个HashMap<Integer,Person>集合, Person有username(St...
2019-03-31 10:58:46 1427
转载 HashMap,LinkedHashMap,TreeMap的区别
HashMapMap主要用于存储健值对,根据键得到值,因此不允许键重复,但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null,允许多条记录的值为 Null。HashMap不支持线程的同步,即任一时刻可以有多个线程同时写Has...
2019-03-31 10:13:05 97
转载 HashMap底层实现原理(下)
上一篇文章我们介绍了HashMap的底层实现,但还遗留了一点内容,我们再回顾一下上一篇文章里说的内容执行完红框里的代码,personMap里放入了8个元素,放置完成后在堆内存表现如下图如果忽略底层实现细节,是这样的在Map中,一个key,对应了一个value,如果key的值已经存在,Map会直接替换value的内容,来看一下源码中是怎么实现的,来看以下代码Person oldPerson1 = p...
2019-03-25 17:11:45 145
转载 HashMap底层实现原理(上)
本来想先在专栏里简单的说一下二叉树,红黑树的内容后再说HashMap的,但看到评论区里不断的出现HashMap这个词,怕大家等得着急,本篇文章就先说说HashMap吧,前面讲ArrayList和LinkedList时把源码说得很细,只要理解了这两块内容,本篇内容也很好理解,先来看看HashMap在Map这个大家族中的位置。上图中,白色部分是接口,黄色部分是要重点了解的,最好是看一遍源码,绿色部分已...
2019-03-25 17:08:42 161
原创 leetCode110 平衡二叉树
判断一颗二叉树是否为平衡二叉树public boolean isBalanced(TreeNode root){ if(root==null) return true; else{ int m = depth(root.left); int n = depth(root.right); if(m-n>1 || n-m>1)...
2019-03-25 15:08:36 131
原创 leetCode222完全二叉树的节点数
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { publ...
2019-03-25 14:22:40 138
翻译 Java 多态
Java 多态多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 如果当前在 Word 下弹出的就是 Word 帮助; 在 Windows下弹出的就是 Windows 帮助和支持。 同一个...
2019-03-24 20:04:33 117
原创 LeetCode226翻转一颗二叉树
public TreeNode invertTree(TreeNode root){ if(root==null) return null; else{ TreeNode temp = root; temp = root.left; root.left = root.right; root.right = temp; return root; }}
2019-03-24 12:39:12 194
原创 求二叉树中的最大深度和最小深度Java
最大深度public int maxDepth(TreeNode root){ if(root==null) return 0; else{ int m = maxDepth(root.left); int n = maxDepth(root.right); return (m>n?m:n) +1; }}最小深度public int minDepth(TreeNo...
2019-03-21 16:15:07 1218
原创 更简单的非递归遍历二叉树
递归方式前序遍历public List<Integer> res = new ArrayList<Integer>();public List<Integer> postorderTraversal(TreeNode root) {//递归写法 if(root == null) return res; res.add(roo...
2019-03-19 20:56:30 130
转载 linux常用命令
一、文件与目录操作basename:从文件名中去掉路径和扩展名cd:切换当前工作目录到指定目录chgrp:改变文件所属组chmod:改变文件的权限chown:改变文件的所有者和组cp:复制文件或目录dd:复制文件并转换文件内容file:确定文件类型find:在指定目录下查找文件并执行指定的操作ln:创建文件链接locate/slocate:快速定位文件的路径ls/dir/...
2019-03-17 16:59:58 157
原创 二分查找
二分查找非递归 /** * 二分查找非递归 * @return */ public int BinarySearch(int [] array,int key){ int low = 0; int high = array.length-1; if(key<array[low] || key&g...
2019-03-17 09:36:42 101
原创 css实现的一个简单的轮播图
css实现的一个轮播图<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>CSS3轮播图</title> <link rel="stylesheet" href="css/slide.css
2019-03-06 20:03:43 1675
原创 快速排序的两种java实现
/** * 快速排序(基于霍尔的快排) */ public int Partition(int a[],int low,int high){ int key = a[low]; int temp; int i = low;int j = high; while(i<j){ w...
2019-03-06 20:03:22 191
翻译 windows中redis下载及安装教程及win10闪退问题
windows下redis下载及安装教程及win10闪退问题1.下载:官网:https://github.com/MicrosoftArchive/redis/releases 百度网盘:链接:https://pan.baidu.com/s/1Dei2tAlAALXBixj4bP2RQw 提取码:yplk2.安装:选好安装路径一直下一步即可3.如果win10有闪退问题解决如下:w...
2019-03-06 19:59:32 857
转载 springboot+mybatis MyBatis查询返回Map时设置值为null的字段没有在结果集中
整合mybatis时设置mybatis:call-setters-on-nulls: true或者在mybatis的配置文件中加入<settings><setting name="callSettersOnNulls" value="true"/></settings>
2019-03-04 15:13:49 2572
编译原理词法分析,语法分析,中间代码生成四元式的java实现
2019-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人