![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【深入JDK源码系列】
曲健磊的个人博客
just do it!
展开
-
Map查表法练习
import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.TreeMap;public class MapDemo7 { public static void main(String[] args) { //Map查表法练习 //"asdfjsifudcbsdcn...原创 2016-09-15 10:31:52 · 546 阅读 · 0 评论 -
深入JDK源码系列:HashSet详解
今天研究了一下 HashSet 的源码,收获了不少知识,分享给大家。1. 特性HashSet 作为一个单列集合,存储的元素都是唯一的,不保证存入和取出元素的顺序。继承自 AbstractSet 类,实现了 Set 接口。public class HashSet<E> extends AbstractSet<E> implements ...原创 2018-03-01 22:16:58 · 191 阅读 · 0 评论 -
Map
Map:双列集合,一次存一对,键值对,要保证键的唯一性。共性的功能:1.添加:v put(key,value);//返回键的旧值putAll(Map<k,v> map);2.删除:void clear();v remove();3.判断:boolean containsKey(object);boolean containsValue(object);boo...原创 2016-09-07 22:33:51 · 232 阅读 · 0 评论 -
通配符,泛型的限定
泛型通配符:public class GenericDemo7 { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); list.add(new Student("abc1",20)); list.add(new Stude...原创 2016-09-05 17:51:00 · 384 阅读 · 0 评论 -
泛型类,方法,接口
泛型类:public class GenericDemo4 { public static void main(String[] args) {// Tool tool = new Tool();// tool.setObj(new Work("张三",24));// Student stu = (Student)tool.getObj();// System.ou...原创 2016-09-04 14:56:14 · 328 阅读 · 0 评论 -
泛型以及泛型的擦除
泛型:在Jdk1.4版本之前,容器什么类型的对象都可以存储,但是在取出时,需要用到对象特有的内容时,需要做向下转型但是对象的类型不一致,导致了向下转型发生了ClassCastException异常。为了避免这个问题,只能主观上控制,往集合中存储的对象类型保持一致。Jdk1.5以后解决了该问题,在定义集合时,就直接明确集合中元素的具体类型。这样,编译器在编译时,就可以对集合中存...原创 2016-09-04 10:25:52 · 404 阅读 · 0 评论 -
TreeSet练习
对多个字符串(不重复)按照长度排序(由短到长)import java.util.Comparator;import java.util.Set;import java.util.TreeSet;public class TreeSetDemo2 { public static void main(String[] args) { //对多个字符串(不重复)按照长度排序(...原创 2016-09-03 12:29:34 · 428 阅读 · 0 评论 -
Enumeration接口
枚举:给Vector提供的“迭代”方式--枚举EnumerationVector 可以通过三种方式获取元素:1.Enumeration2.Iterator3.高级forimport java.util.Enumeration;import java.util.Iterator;import java.util.Vector;public class Enu...原创 2016-09-03 10:34:28 · 277 阅读 · 0 评论 -
foreach语句:增强for循环
import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class ForEachDemo { public static void main(String[] args) { /* * Jdk1.5特性: * 增强for循环。作用:用于遍历Coll...原创 2016-09-02 22:22:34 · 1295 阅读 · 1 评论 -
集合名称阅读技巧
集合名称阅读技巧:Jdk1.2后出现的集合框架中的常用子类对象,存在的规律。前缀名是数据结构名,后缀名是所属体系名。ArrayList:数组结构。看到数组,就知道查询快,看到List,就知道可以重复,可以增删改查。LinkedList:链表结构,增删快。xxxFirst xxxLast xxx:get,removeHashSet:哈希表,看到哈希表就要想到元素必须覆盖HashCode和equ...原创 2016-09-02 21:02:11 · 294 阅读 · 0 评论 -
TreeSet
TreeSet:不保证有序,可以对元素进行排序,二叉树结构,不同步的排序方式:需要元素具备比较功能,所以元素需要实现Comparable接口,覆盖compareTo方法如何保证元素唯一性?其实参考的就是比较方法compareTo的返回值是否是0,是0,就是重复元素,不存。需求中也有这样一种情况,元素具备的比较功能不是所需要的,也就是说不想按照自然排...原创 2016-09-02 17:37:35 · 541 阅读 · 0 评论 -
LinkedList
LinkedList:特殊的方法addFirst()addLast()getFirst()getLast()removeFirst()removeLast()小面试:请通过LinkedList实现一个堆栈,或者队列数据结构。堆栈:先进后出。First In Last Out FILO队列:先进先出。First In First Out FIFOpacka...原创 2016-08-27 23:41:28 · 488 阅读 · 0 评论 -
List
List集合的具体子类,子类之所以能过区分是因为内部的数据结构(存储数据的方式)不同|--Vector :数据结构是数组。数组是可变长度的(不断new新数组并将原数组元素复制到新数组),线程同步,查询,增删都慢。|--ArrayList :也是数组结构,也是长度可变的,是线程不同步的。替代了Vector,增删速度不快,查询速度快|--LinkedList :链表结构,线程不同步,增...原创 2016-08-24 22:12:14 · 282 阅读 · 0 评论 -
Collection集合
/*Collection定义了集合框架的共性功能。1,添加 add(e); addAll(collection);2,删除 remove(e); removeAll(collection); clear();3,判断。 contains(e); isEmpty();4,获取 iterator(); size();5,获取交集。 retainAll();...原创 2016-08-24 21:59:39 · 333 阅读 · 0 评论 -
深入JDK源码系列:HashMap详解
继续挖掘 HashMap 背后的故事。1. 特性HashMap 是一个双列集合,存储的元素都是 key - value 形式的键值对,使用哈希表作为内部数据结构,不保证存入和取出元素的顺序,允许使用 null 键和 null 值,方法上没有使用 synchronized ,线程不安全,继承自 AbstractMap 类,实现了 Map 接口。public class HashM...原创 2018-03-05 09:40:13 · 304 阅读 · 0 评论