JavaSe
绿树苍天
这个作者很懒,什么都没留下…
展开
-
递归陷阱——有27个人要喝水,每三个空瓶子可以换一瓶水,问需要买多少瓶水
有27个人要喝水,每三个空瓶子可以换一瓶水,问需要买多少瓶水?完成这道题目时使用了递归,发现怎么也不对,后面找到错误,记录下来。错误版本public class buyWater { public static void main(String[] args) { // TODO Auto-generated method stub for (int i原创 2016-08-18 19:56:46 · 4122 阅读 · 0 评论 -
Web分页实现及实例演示(一)——subList()
有一个学生表,可以通过姓名进行模糊查找,或者性别查找。使用subList()实现,步骤(MVC):(M)根据查询条件生成有一定信息的Student对象,查询出所有符合条件的学生,所有信息存储在List>中。遍历结果,用Map来实例化Student,所有符合条件的学生,存入List。(这个List就是通过输入条件查找到的所有结果,结果可能太多所以需要分页显示)用上一步的Lis原创 2016-08-29 19:27:16 · 4606 阅读 · 8 评论 -
LinkedHashMap如何实现迭代时有序
LinkedHashMap具有可预知的迭代顺序,根据链表中元素的顺序可以分为:按插入顺序的链表,和按访问顺序(调用get方法)的链表。 默认是按插入顺序排序,如果指定按访问顺序排序,那么调用get方法后,会将这次访问的元素移至链表尾部,不断访问可以形成按访问顺序排序的链表。 可以重写removeEldestEntry方法返回true值指定插入元素时移除最老的元素。如何实现迭代有序?原创 2016-10-21 00:05:30 · 7009 阅读 · 0 评论 -
关键字static,静态
static虚拟机准备阶段是正式为类变量(static修饰的类成员变量)分配内存并设置类变量初始值的阶段,这些变量使用的内存都在方法区中进行分配。这时只对类变量进行内存分配,不包括实例变量。实例变量在对象初始化时随对象一起分配在Java堆中。初始值“通常情况”下是数据类型的默认值(int——0,boolean——false……)public static int原创 2016-10-25 09:00:03 · 262 阅读 · 0 评论 -
HashMap知识点总结
初始容量(4种构造方式),负载因子(默认0.75)由table数组和Entry链表组合而成当key为null,调用putForNullKey方法,所以可以key为null(放在table[0]),取getForNullKey底层数组长度总是2的n次方,使得数据在table数组中分布较均匀,查询速度也较快。put()时,判断是否为null,计算hash值,确定在table数组中位置(思想是取模,原创 2016-10-13 21:26:54 · 274 阅读 · 0 评论 -
HashMap源码详细介绍和示例
JAVA HashMap详细介绍和示例我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap。第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。转载 2016-10-13 15:11:47 · 392 阅读 · 0 评论 -
static+final与final区别,静态常量与常量
static+final静态常量,编译期常量,编译时就确定值。(Java代码执行顺序,先编译为class文件,在用虚拟机加载class文件执行)放于方法区中的静态常量池。在编译阶段存入调用类的常量池中如果调用此常量的类不是定义常量的类,那么不会初始化定义常量的类,因为在编译阶段通过常量传播优化,已经将常量存到调用类的常量池中了class ConstC{ static{ Sys原创 2016-10-21 22:43:09 · 12906 阅读 · 0 评论 -
LinkedHashMap源码理解
LinkedHashMap同时维护了HashMap的快速查找和一个双向循环链表(按插入顺序的链表,或者按访问顺序(调用get方法)的链表)addBefore(Entry e)方法,一般需要修改4个引用,本节点的before,after,修改后的before节点(即e.before())的after,修改后的after节点(即e)的before。LinkedHashMap没有put(K ke原创 2016-10-21 13:29:00 · 292 阅读 · 0 评论 -
笔试:最少再出几道题?补充题目
今天笔试遇到,记录下import java.util.*;/** * @author XF * 排序后,从小到大遍历。 * 第二个数与第一个差值<=10,10< && <=20,20< * 根据各自的情况,进行补充和移动数组指针 */public class Main { public static void main(String[] args) { Sca原创 2016-09-21 22:54:35 · 408 阅读 · 0 评论 -
string去除重复字符两个方法
string去除重复字符串今天面试遇到,使用了第一种,回来记录了下。网上有很多伪方法,只删除了相邻重复字符串,大家警惕!主要使用list.contains()检测重复。import java.util.*;public class Main06 { public static void main(String[] args) { // TODO Auto原创 2016-09-20 21:54:10 · 34034 阅读 · 3 评论 -
leetcode.387. First Unique Character in a String--字符串首个不重复的字母
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.Examples:s = "leetcode"return 0.s = "loveleetcode",return 2.Note:原创 2016-08-22 22:30:37 · 551 阅读 · 0 评论 -
LeetCode.15.3Sum —— 解题
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:Elements in a triplet (a,b,c原创 2016-09-12 13:17:22 · 441 阅读 · 0 评论 -
Web分页实现及实例演示(二)——MySql limit
可以使用sql语句来实现分页效果,以MySql为例:在查询语句结尾添加limit a,b; 则从第a条开始,查询b条。实现步骤基本同上一篇,两点区别:1、组装sql语句时,最后需要添加limit,起始结束位置可以通过参数pageNum,pageSize计算得到2、使用数据库语句分页,那么无法通过查询结果知道满足条件的总条数,所以需要一条新的sql语句来专门统计总数。原创 2016-08-29 21:30:09 · 2170 阅读 · 0 评论 -
如何实现对ArrayList排序 sort()
总结:使用Collections.sort()传入ArrayList,会采用默认的方式进行排序(字典序)使用Collections.sort()传入ArrayList和自己实现Commparator接口的类的对象,实现自定义排序使用List.sort()传入自己实现Commparator接口的类的对象,实现自定义排序Comparator返回值在jdk1.7、jdk1.8里必须是一对原创 2016-09-24 22:18:38 · 93539 阅读 · 0 评论