亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

好程序員大數據學習路線之大數據自學路線二

發布時間:2020-07-12 12:37:23 來源:網絡 閱讀:195 作者:wx5d42865f47214 欄目:大數據

好程序員大數據學習路線之大數據自學路線二

lambda表達式

比較lambda表達式和匿名內部類:

lambda表達式就是簡單的匿名內部類

匿名內部類可以為任意接口創建實例,不管接口有多少抽象方法;

lambda表達式只能為函數式接口創建實例(即只能有一個抽象方法)

?

基本語法:

?

(參數)->表達式、(參數)->{方法體;}

?

1.形參:形參列表允許省略形參類型,若形參列表中只有一個參數,形參列表的圓括號也可以省略代碼

?

2.箭頭:通過英文的劃線號和大于符號組成

?

3.代碼塊:如果代碼塊只包含一條語句,lambda表達式允許省略代碼塊的花括號

?

4.返回值:lambda代碼塊只有一條return語句,甚至可以省略return關鍵字

?

lambda表達式需要返回值,而它的代碼塊中僅有一條省略了return的語句,lambda表達式會自動返回這條語句的結果

?

5.lambda表達式中變量的使用:如果是全局的變量直接用,如果是局部變量會默認在前面添加final

?

```java

//匿名內部類

InterfaceA a = new InterfaceA() {

????public void show() {

????????System.out.println("匿名內部類的show");

????}

};

a.show();


//通過lambda表達式

InterfaceA b = ()->{

????System.out.println("lambda表達式的show");

};

b.show();

//簡化

InterfaceA b1 = ()->System.out.println("簡化的lambda表達式的show");

b1.show();

```

?

方法引用與構造器引用

1.引用類方法

2.引用特定對象的實例方法

3.引用某類對象的實例方法

4.引用構造方法

?

```java

//1.沒有參數的

InterA aa = ()->System.out.println("沒有參數");

//2.一個參數的

InterB bb = (ib)->System.out.println("一個參數:"+ib);

//3.兩個參數的

InterC cc = (ia,ib)->System.out.println("兩個參數:"+"ia:"+ia+"ib:"+ib);

//4.返回值

InterD dd = (i,j)->i+j;

int value1 = dd.showD(4, 7);

//5.lambda表達式作為參數

```

?

```java

public class Demo3 {

public static void main(String[] args) {

//


//


//


//


}

}

//* 1.引用類方法

interface Converter{

//將字符串轉換成整數

Integer convert(String value);

}

class Test1{

public static void fun1() {

}

}

//* 2.引用特定對象的實例方法

interface IA{

public void show(String message);

}

class A{

public void play(String i) {


}

}

class Test2{

public static void fun2() {

}

}

//* 3.引用某類對象的實例方法

interface IB{

String subString(String string,int stat,int end);

}

class Test3{

public static void fun3() {

}

}

//* 4.引用構造方法

interface IC{

Object show(String name,int age);

}

class Person{

String name;

int age;

public Person(String name, int age) {


}

@Override

public String toString() {


}


}

class Test4{

public static void fun4() {

}

}

```

集合


可以存儲不同類型的多個數據,只能存儲引用數據類型,動態分配內存

Collection:接口

添加:boolean add(Object o);boolean addAll(Collection<?> c);

刪除:boolean remove(Object o);boolean removeAll(Collection<?> c);

判斷:boolean contains(Object o);boolean contains(Collection<?> c);

獲取:Iterator<E> iterator();

集合變數組:Object toArray();

?

List:接口:

有序的(存儲有序),可重復的

?

底層數據結構是數組,線程不安全,特點:查找速度快,添加刪除慢

底層數據結構是數組,線程安全,特點:查找速度快,添加刪除慢

底層數據結構是鏈表,線程不安全,特點:查找速度慢,添加刪除快

?

Set:接口:

?

無序的,不可重復的


底層是哈希表,線程不安全

底層是二叉樹,線程不安全

Map:接口

HashMapDAY07筆記2019-07-30

TreeMapDAY07筆記2019-07-30

?

泛型

通過<數據類型>接受一種數據類型

1.減少容錯處理,簡化代碼

2.將運行錯誤提前到編譯階段

泛型應用在方法上:

1.類上的泛型與方法上的泛型保持一致

```java

class Dog<F>{

public void eat(F f) {


}

}

```


2.方法上獨立使用泛型


```java

public <E> void song(E e) {


}

```

?

3.靜態方法上使用泛型(必須獨立使用):

```java

public static <W> void show(W w) {}

```

泛型應用在接口上:

?

1.子類上的泛型與接口上的一致

?

```java

interface Inte<E>{

public void show(E e);

}

class Pig<E> implements Inte<E>{

@Override

public void show(E e) {

?

}

}

```


2.接口上使用泛型,子類上不用泛型

?

```java

interface Inte<E>{

public void show(E e);

}

class Bird implements Inte<String>{

public void show(String e) {};

}

```

1.如果是重寫的方法,泛型與接口一致

2.如果是子類自己的方法,可以與接口一致,也可以有自己的泛型

?

限制上限和限制下限

限制上限<? extends E>E以及E的子類

限制上限<? super E>E以及E的父類

?


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海丰县| 勐海县| 梧州市| 铁岭市| 昌乐县| 钟山县| 诸暨市| 广西| 台前县| 宝坻区| 蒙城县| 凤翔县| 潮州市| 紫阳县| 兴隆县| 浮梁县| 石棉县| 延安市| 海淀区| 沈阳市| 锦州市| 丹阳市| 宿松县| 高淳县| 拜泉县| 旅游| 永昌县| 勐海县| 岑溪市| 濮阳市| 遵化市| 合阳县| 佳木斯市| 沧州市| 白玉县| 平阴县| 鄯善县| 渑池县| 左贡县| 化德县| 珠海市|