java基础
逗点儿
大数据爱好者,菜鸟
展开
-
Java集合学习2——JDK1.8 LinkedList详解
1.介绍 LinkedList是一种基于双向链表实现的list。其结构相对于ArrayList来说是两个极端。ArrayList专注于查找的O(1)级别操作,LinkedList专注于增删的O(1)基本操作。 2.常用参数 transient int size = 0; 链表的大小 transient Node<E> first; 链表的头结点 transie...原创 2018-05-17 16:55:06 · 268 阅读 · 0 评论 -
Java集合学习3——JDK1.7 HashMap详解
1.介绍 HashMap是一个存储键值对(key-value)的容器,底层数据结构为数组+链表的数据结构。由于并不是线程安全,所以适合单线程操作,但速度相对而言也更快了。容器内部充分使用位运算,加快运算速度。HashMap相对复杂,在学习之前,我们先了解一下前置知识。 2.前置知识 按位与(&):1&1=1,0&0=0,0&1=0,1&0=...原创 2018-05-18 18:14:58 · 240 阅读 · 0 评论 -
Java集合学习1——JDK1.8 ArrayList 详解
索引 1.介绍 2.常用参数 3.构造方法 4.增 5.删 6.改 8.查 9.总结 1.介绍 ArrayList是一个基于数组的集合实现,可以进行对元素的增删改查,可以动态的进行扩容。ArrayList并不是线程安全,所以效率比较高,推荐单线程环境下使用。 2.常用参数 elementData :数组 size:数组中元素的个数 ...原创 2018-05-14 16:10:29 · 234 阅读 · 0 评论 -
Java集合学习4——HashMap深入理解
距离接触HashMap有一段时间,我对Java集合类有了更加深入的理解。通过jdk1.8和1.7的对比发现HashMap的优化进步。最大的特点就是HashMap1.7版本最大的问题就是有很低的概率会发生在散列表中一个链表的长度很长,使得其查询退化为O(n)复杂度。在1.8中,当链表长度大于8时,转化为红黑树。众所周知,红黑树是一种平衡二叉树,是不会存在这种问题的。 同时,我们也是知道HashMa...原创 2018-07-17 00:25:39 · 287 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
转载自:https://blog.csdn.net/rmn190/article/details/1492013 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) String 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每...原创 2018-07-19 14:32:08 · 145 阅读 · 0 评论