jdk.png
1.面向?qū)ο?br>
對(duì)象:就是每一個(gè)類都有一個(gè)域名,然后對(duì)象進(jìn)行拼裝,變成了新的對(duì)象
個(gè)人理解:人是一個(gè)對(duì)象箩绍,簡(jiǎn)單分可以分成頭,身體尺上。頭和身體也可以看成一個(gè)對(duì)象材蛛,一直分到不能再分
2.util包
java.util
collection 集合接口
集合架構(gòu)圖
集合結(jié)構(gòu)圖.gif
架構(gòu)圖比較復(fù)雜,我們先不看怎抛,只看api
image.png
我們先學(xué)習(xí)collection的父類Iterable 卑吭,iterable是1.5之后添加進(jìn)來(lái)的,并且只有一個(gè)方法马绝,遍歷集合的數(shù)據(jù)
image.png
image.png
代碼地址: https://github.com/ant1024ant/javaUtil.git
Iterator類的源碼:
image.png
image.png
image.png
image.png
先來(lái)看下@Contract(pure=true)注解
@Contract 注釋通過(guò)定義方法參數(shù)和返回值之間的依賴關(guān)系
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;
}
自己測(cè)試了一下豆赏,就相當(dāng)于一個(gè)描述符,沒(méi)有其他作用
能夠?qū)terator中迭代剩余的元素傳遞給一個(gè)函數(shù)迹淌,eg:
List<String> list = Arrays.asList("a", "b", "c", "d", "e");
Iterator<String> it = list.iterator();
while (it.hasNext()) {
if ("c".equals(it.next())){
break;
}
}
it.forEachRemaining(s -> System.out.print(s + " ")); // 輸出 d e