08 2018 档案
摘要:前面的几篇文章对ArrayList的超类和本身以及接口进行了讲解,为了更加深入理解ArrayList集合使用数组存储数据的思想,特意实现了一个自定义的MyArrayList,源码如下: /** * 自定义ArrayList集合 * @param <E> */ public class MyArray
阅读全文
摘要:问题场景: 在看完ArrayList类源码的时候决定自己实现了ArrayList集合,经过一番折腾后,整体要实现的功能都已确定。用数组存储数据和数组的动态扩容都已写好。由于自己实现ArrayList只是为了领会一下其核心是想,所有就实现了一个无参构造,对存储数据的数组进行了初始化。 但是无意间发现自
阅读全文
摘要:一.ArrayList在Colection集合体系中的位置及概述 ArrayList理解起来很简单,Array数组 阵列的意思、List线性表 列表,加在一起就是数组去实现线性表的一个实现类。ArrayList是由AbstractList超类特化而来。在功能上实现了add, get, set, re
阅读全文
摘要:AbstractList超类 一、在Collection容器集合中的位置及作用 Collection集合体系有两大分支,一个是List分支、另一个是Set分支,Collection是这两大分支超类;这两个分支都由接口去约束,每个几口都有其实现类,而AbstractList抽象类就是List分支的顶层
阅读全文
摘要:一、AbstractCollection超类位置及概述 四个超类AbstractCollection、 AbstractSet 、AbstractList、AbstractSequentialList。AbstractCollection、 AbstractSet 、AbbstractList根据名
阅读全文
摘要:一、什么是接口? 接口中定义的是该继承体系中的扩展功能。 举个例子:(猫狗案例) 狗一般就是看门,猫一般就是作为宠物了。但是,现在有很多的驯养员或者是驯兽师,可以训练出:猫钻火圈,狗跳高,狗做计算等。而这些额外的动作,并不是所有猫或者狗一开始就具备的,这应该属于经过特殊的培训训练出来的。所以,这些额
阅读全文
摘要:一、描述 JKD1.8新增的接口,可以实现对数组、集合等类似于spark算子的所有操作。 二、创建Stream对象 // 1.通过数组创建 String[] arr = {"a", "b", "c", "d", "e"}; Stream<String> streamArr = Stream.of(a
阅读全文
摘要:1.概述 Lambda表达式是jdk1.8的新特性之一,他可以极大程度简化代码,减少代码量,常用于java中接口式匿名内部类。Lambda允许把函数作为一个方法的参数(函数作为参数传递到方法中),或者把代码看成数据。 2.定义 只有一个方法的匿名内部函数是函数式接口,它可以被隐式转换成Lambda表
阅读全文
摘要:一、数组转化成集合 使用Arrays.asList(T... a)方法,将数组转换成List集合。 代码实例: package cn.ccut; import java.util.ArrayList; import java.util.Arrays; import java.util.List; p
阅读全文
摘要:一、Scanner类的继承关系图 Scanner类继承自Object类,实现了Interator、Closeable两个接口。 Object类:java中所有类的超类。 Interator接口:对 collection 进行迭代的迭代器。 Closeable接口:是可以关闭的数据源或目标。调用 cl
阅读全文
摘要:算法连续将两个数取余,直到余数为0,最后的非零余数就是最大公因数。 代码如下: import java.util.Scanner; /** * 欧几里得算法 求两个数的最大公因数 */ public class EuclideanAlgorithm { public static void main
阅读全文
摘要:二分查找也称折半查找(Binary Search),它的查找效率很好。二分查找有一个要求是必须采用顺序存储结构,而且表种的元素是有序的。只有满足这个条件我们才能使用二分查找。 查找条件: 查找区域的左边界,小于等于查找区域的右边界 查找过程: 1. 循环条件 == 查找条件 2.计算序列中间下标位置
阅读全文

浙公网安备 33010602011771号