- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 java集合 List接口(下)
List接口的实现类 在标准的JDK集合框架中,对List接口的两个重要实现就是ArrayList和LinkedList,接下来依次对这两个类进行分析。ArrayListArrayList的继承关系 ArrayList底层通过数组来实现List接口。该类通过继承AbstractList,而后者又继承自AbstractCollection抽象类,AbstractCollection抽象类...
2019-05-13 22:57:55 171
原创 java集合 List接口(上)
Iterable接口 Iterable并不在java.util包中,而在java.long包。Iterable接口的功能也正其名称一样,描述了对象的可迭代的能力。Iterable接口中有如下几个方法:...
2019-05-13 14:20:56 157
原创 AbstaractList类中的listIterator()的实现分析
Iterator接口 Iterator提供了一种机制来遍历元素。其中包含了以下3种方法:hasNext()next()remove()forEachRemaining(Consumer<? super E>)\最后一种方法用来对集合中的每个元素执行对应的动作,只需要添加相应的lambda表达式即可。其他方法的语义可直接参考JDK源代码即可。ListIterator接...
2019-05-12 19:23:14 214
原创 java 泛型
泛型类java泛型类的定义中,在尖括号中把类型变量依次列举出来,按照惯例,在JDK中,使用E表示集合的元素类型,K与V分别表示键与值。T用来表示“任意类型”。一个简单的泛型类如下:public class Generic<T,U>{ private T a; private U b; public Generic(T a,U b){ this.a=a; this.b=...
2019-05-11 18:04:06 150
原创 java 内部类
内部类java中的内部类是定义在一个类的内部中的,其主要原因如下:内部类的方法可以访问该类定义所在域中的数据,包括private数据内部类可以不被同一个包中的其他类访问定义回调函数时,可通过匿名内部类方式简化代码编写public class InnerClassTest{ public static void main(String[] args){ A a=...
2019-05-09 13:29:27 169
原创 java lambda表达式
lambda表达式 java中的lambda表达式简单理解就是一个代码块,同时规范了传入代码的输入变量。多参的lambda表达式//int[] data={3,2,1};Integer[] data={3,2,1};Arrays.sort(data,(a,b)-> a-b);System.out.println(Arrays.toString(data));单参的la...
2019-05-08 20:59:57 180
原创 java 反射
反射能够分析类能力的程序被称为反射。反射机制可以用来:在运行时分析类;在运行时查看对象;实现通用的数组操作代码;使用Method对象,以类似于函数指针的方式调用函数。通过反射分析类public class ReflectionTest { public static void main(String[] args) { String name; ...
2019-05-07 22:17:21 118
原创 java 拆装箱
自动拆装箱自动装箱/拆箱机制是编译器认可的,也就是编译器在相应的位置插入字节码,虚拟机按部就班执行,即该机制对虚拟机透明。自动装箱/拆箱机制是给程序员的语法糖,使得对于基本类型到封装类型之间的过渡如丝般柔滑。对应的类型转换表如下:1Integerint2Longlong3Floatfloat4Doubledouble5Shortsh...
2019-04-29 18:24:11 187
原创 多态与数组
多态java中,或者面向对象编程中的多态,简单而言就是一种类型的变量可以引用该类以及其子类的实例。这也就意味着将子类引用变量赋值给父类引用变量自动进行,无须类型转化。父类数组与子类数组此处使用Fruit,Apple两个类来说明隐含存在的ArrayStoreException问题。class Fruit{}class Apple extends Fruit{ public void A...
2019-04-28 14:11:46 351
原创 java类的初始化
java类的初始化对于一般的java类,其中包含的字段有类字段(static),实例字段。对于每个字段的初始化方式也有多种:直接初始化。使用初始化块。对于实例字段,使用static初始化块;对于实例字段,使用一般初始化块。在构造器中执行初始化逻辑java类初始化的顺序由于类加载器在加载class文件,到实例构造前,类字段会得到初始化,也就意味着类字段优先于实例字段的初始化。对于一...
2019-04-28 13:41:27 209
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人