ビッグデータビッグデータは、二つの良いプログラマの自己学習コースのコースを学習します

ビッグデータビッグデータは、二つの良いプログラマの自己学習コースのコースを学習します

ラムダ式の

比較ラムダ式と匿名内部クラスを:

ラムダ式は、単純に匿名内部クラスです

匿名の内部クラスは、どんなに抽象メソッド・インターフェース、任意のインターフェイスのインスタンスを作成することができません。

ラムダ式は、関数インタフェースのインスタンスを作成することができる(すなわち、唯一の抽象メソッドがあります)

 

基本的な構文:

 

パラメータ) - > 式、パラメータ) - > { メソッド本体;}

 

1. パラメーター:唯一つのパラメータ、括弧内のパラメータリストは、コードでは省略されてもよい場合は、パラメータリストは、パラメータタイプパラメータリストを省略することができ

 

2. 矢印:数値をスクライブにより、英語のシンボルよりも大きく、

 

3. コードブロック:コードブロックが一つだけのステートメントが含まれている場合は、ラムダ式はコードブロックは中括弧を省略していることができ

 

4. 戻り値:ラムダブロック一つだけのリターンの文にも省略することがリターンキーワード

 

ラムダ式の戻り値が必要とされ、それが唯一のコードのブロックが省略されているリターン文を、ラムダ式は自動的に結果の声明を返します

 

5.lambda 表現変数を使用します。それはローカル変数の場合、グローバル変数は直接、フロントにデフォルト設定されます場合は、最終的な

 

`` `javaの

// 匿名内部クラス

InterfaceA aは=新しいInterfaceA(){

    公共ボイドショー(){

        System.out.println(「匿名内部クラスが表示さ」);

    }

}。

ショー();


// によってラムダ式を

InterfaceAのB =() - > {

    System.out.println( "ラムダ式が表示さ");

}。

b.show();

// 簡素化

InterfaceA B1 =() - >のSystem.out.println ( " 簡略化されたラムダ式が表示")。

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的父类

 


おすすめ

転載: blog.51cto.com/14479068/2438799