jdk学习(一)

jdk.png

1.面向对象
对象:就是每一个类都有一个域名,然后对象进行拼装,变成了新的对象
个人理解:人是一个对象,简单分可以分成头,身体。头和身体也可以看成一个对象,一直分到不能再分

2.util包
java.util
collection 集合接口
集合架构图


集合结构图.gif

架构图比较复杂,我们先不看,只看api


image.png

我们先学习collection的父类Iterable ,iterable是1.5之后添加进来的,并且只有一个方法,遍历集合的数据

image.png

image.png

代码地址: https://github.com/ant1024ant/javaUtil.git
Iterator类的源码:

image.png
image.png
image.png
image.png

先来看下@Contract(pure=true)注解
@Contract 注释通过定义方法参数和返回值之间的依赖关系

package org.jetbrains.annotations;

import java.lang.annotation.*;

@Documented
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
public @interface Contract {
  String value() default "";

  boolean pure() default false;
}

自己测试了一下,就相当于一个描述符,没有其他作用

能够将Iterator中迭代剩余的元素传递给一个函数,eg:

List list = Arrays.asList("a", "b", "c", "d", "e");
Iterator it = list.iterator();

while (it.hasNext()) {
    if ("c".equals(it.next())){
        break;
    }
}

it.forEachRemaining(s -> System.out.print(s + " "));  // 输出 d e

你可能感兴趣的:(jdk学习(一))