raylee2007的专栏

java技术博客,每天深入一点点

从头认识java-15.7 Map(3)-介绍HashMap的工作原理-get方法

接着上一章节,我们来讨论一下get方法。1.还是利用上一章节的图下图引用自:http://www.admin10000.com/document/3322.html2.get方法的源码:public V get(Object key) { if (key == null) ...

2015-12-31 15:10:22

阅读数:2742

评论数:1

从头认识java-15.7 Map(2)-介绍HashMap的工作原理-put方法

这一章节我们来介绍HashMap的工作原理。1.HashMap的工作原理图下图引用自:http://www.admin10000.com/document/3322.html(1)HashMap初始化的时候我们可以这样理解:一个数组,每一个位置存储的是一个链表,链表里面的每一个元素才是我们记录的元...

2015-12-31 14:52:27

阅读数:5474

评论数:0

从头认识java-15.7 Map(1)-使用数组来简单模拟Map的创建

这一章节我们来使用数组模拟一下Map,了解一下Map的创建。1.Map是什么?Map,映射表,也叫关联数组,维护“键-值”的关联。2.使用数组模拟Mappackage com.ray.ch15; import java.util.HashSet; import java.util.Set; p...

2015-12-30 14:15:20

阅读数:2244

评论数:0

从头认识java-15.6 队列(Queue)

这一章节我们来讨论一下队列(Queue)。1.什么是队列?队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。 2.特性(1)元素是有序的(2)元素是先进先出 3.java里面的实现类:Li...

2015-12-29 22:15:54

阅读数:2151

评论数:2

从头认识java-15.5 使用LinkedHashSet需要注意的地方

再接着上一个章节,我们来聊一下使用LinkedHashSet需要注意的地方。LinkedHashSet特点:(1)元素是有顺序的(2)元素是不重复的(3)底层数据结构是按照链表的结构存储的(4)需要重新hashcode和equals方法例子:(我们再次修改上一章节的代码)package com.r...

2015-12-29 15:35:16

阅读数:2315

评论数:0

从头认识java-15.4 使用TreeSet需要注意的地方

接着上一章节,我们继续来讨论使用TreeSet需要注意的地方。2.TreeSet特点:(1)元素是有序的(2)元素是重复的,需要去重(3)必须实现Comparable接口我们修改一下上一章节的代码:package com.ray.ch15; import java.lang.reflect.In...

2015-12-29 15:02:32

阅读数:1478

评论数:0

从头认识java-15.3 使用HashSet需要注意的地方

这一章节我们来讨论一下使用Set的各种实现需要注意的地方。Set接口的常用实现类有:HashSet,TreeSet,LinkedHashSet1.HashSet大家对于HashSet的印象都是它可以去除重复的元素,每一个元素都是唯一的,但是这里面有一个前提,就是必须重写equals和hashcod...

2015-12-29 12:36:11

阅读数:1832

评论数:0

从头认识java-15.2 Collection的常用方法(2)-注意点

上一章节我们讲述了Collection的常用方法,还有之前的章节我们介绍了Collection的addAll方法,这一章节我们介绍一下它的注意点。注意点就是,在常用方法里面,基本都是可选操作。什么是可选操作?可惜操作的方法不是为所有的实现而设定的,而只是为某一类的实现而设定的。例如:package...

2015-12-28 14:02:49

阅读数:1573

评论数:1

从头认识java-15.2 Collection的常用方法(1)

这一章节我们来介绍一下Collection的常用方法。我们下面以ArrayList为例。package com.ray.ch14; import java.util.ArrayList; import java.util.Iterator; public class Test { publi...

2015-12-27 22:24:42

阅读数:1831

评论数:2

从头认识java-15.1 填充容器(3)-填充Map

这一章节我们来讨论一下填充容器的另一个方面Map,之前的两个章节我们都是用list来作为容器,这一章节我们使用Map。还有在这里解释一下为什么一直都使用生成器这个东西,其实他就是建造者设计模式,它主要的作用就是生产复杂的对象,而且满足各种需求的变化(灵活性)。还有为什么花这么多章节来讨论填充容器,...

2015-12-27 16:32:27

阅读数:2395

评论数:6

从头认识java-15.1 填充容器(2)-利用Collection的addAll方式

接着上一章节,我们继续介绍填充容器。这一章节我们结束另一种填充容器的方式:addAll例子:package com.ray.ch15; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHash...

2015-12-25 14:32:39

阅读数:2310

评论数:3

从头认识java-15.1 填充容器(1)-利用Collection构造器的方式

这一章节我们来介绍一下填充容器。就像数组一样,Arrays.fill是填充方法,在容器里面也有。1.Collections.nCopies这个方法是生成某种类型多少个对象,然后我们可以把他放到容器的构造函数里面,填充这个容器。例子:package com.ray.ch15; import jav...

2015-12-25 10:06:53

阅读数:2284

评论数:3

从头认识java-14.4 Java提供的数组的实用功能(2)

接着上一章节,我们继续介绍Java提供的数组的实用功能。3.元素的对比Comparatorpackage com.ray.ch14; import java.util.Arrays; import java.util.Comparator; public class Test { publi...

2015-12-24 22:35:04

阅读数:1654

评论数:0

从头认识java-14.4 Java提供的数组的实用功能(1)

这一章节我们来讨论一下Java提供的数组的实用功能。1.复制我们下面来比较一下System.arraycopy和forpackage com.ray.ch14; import java.util.Arrays; public class Test { public static void m...

2015-12-24 16:53:37

阅读数:1688

评论数:0

从头认识java-14.3 多维数组

这一章节我们来讨论一下多维数组。1.例子:package com.ray.ch14; import java.util.Arrays; public class Test { public static void main(String[] args) { int[][] a = new...

2015-12-24 11:48:31

阅读数:2197

评论数:0

从头认识java-14.2 进一步了解数组

这一章节我们来全面了解一下数组。1.数组在初始化之前,我们不能使用他的引用来做任何事情。package com.ray.ch14; public class Test { public static void main(String[] args) { int[] a; // Syst...

2015-12-23 22:39:28

阅读数:1815

评论数:2

从头认识java-14.1 再次对比数组与容器

这一章节我们再次深入的对比数组与容器。数组与容器主要集中在三个方面:效率、类型、基础类型。我们可以从三方面做出对比。1.效率这里的下来是指add和get 的速度下面以add为例:package com.ray.ch13; import java.util.ArrayList; public c...

2015-12-23 15:01:34

阅读数:1396

评论数:0

从头认识java-13.15 使用泛型时出现的问题(2)-实现参数化接口与重载

接着上一章节,我们这一章节讨论一下两个比较偏门的知识点:实现参数化接口与重载。主要笔者觉得这两个知识点比较有意思而已。1.实现参数化接口下面是不能编译的代码:package com.ray.ch13; interface Generator { } class MyGenerator impl...

2015-12-22 22:33:07

阅读数:1757

评论数:2

从头认识java-13.15 使用泛型时出现的问题(1)-泛型不能使用基础类型

这一章节我们来讨论一下使用泛型时出现的问题。今天我们引入第一个问题:就是泛型不能使用基础类型。1.例子package com.ray.ch13; import java.util.ArrayList; public class Test { public static void m...

2015-12-22 22:19:13

阅读数:2783

评论数:1

从头认识java-13.14 捕捉通配符替代的类型参数

这一章节我们继续关于通配符的话题,主要讨论怎样捕捉通配符替代的类型参数?例子:package com.ray.ch13; public class Test { public static void test(Holder holder) { T t = holder.get()...

2015-12-21 21:57:48

阅读数:1938

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭