使用java模擬scala函數語言程式設計將函式作為引數傳入方法中
需求:將一個list集合傳入一個方法中,同時傳入一個函式,根據傳入函式的不同對集合做不同的處理
方法:定義一個介面,並定義一個方法option,測試中呼叫一個方法傳入的引數是list和函式,函式就是該介面的實現類。
程式碼如下:
介面
package me.season.com;
import java.util.ArrayList;
public interface OptionMethod2 {
public ArrayList<Integer> option(ArrayList<Integer> list);
}
主要程式碼
package me.season.com;
import java.util.ArrayList;
public class test2 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
ArrayList<Integer> met = test2.met(list, new OptionMethod2(){
@Override
public ArrayList<Integer> option(ArrayList<Integer> list) {
ArrayList<Integer> arr = new ArrayList<>();
for (Integer ii : list) {
int i = ii*ii;
arr.add(i);
}
return arr;
}
});
for (Integer i : met) {
System.out.print(i+" ");
}
}
public static ArrayList<Integer> met(ArrayList<Integer> list,OptionMethod2 op){
ArrayList<Integer> arr = op.option(list);
return arr;
}
}
met方法中傳入了一個需要處理的list集合,並new了一個介面,實現了option()方法
根據具體的實現方法,將list作了不同的處理。
正好最近學習Scala的函數語言程式設計,就寫了這麼個程式來理解一下。
相關文章
- Scala函式與函數語言程式設計函式函數程式設計
- GO語言————6.7 將函式作為引數Go函式
- Scala 函數語言程式設計(一) 什麼是函數語言程式設計?函數程式設計
- C語言 將函式(有參、無參)作為引數傳遞C語言函式
- Python中將函式作為另一個函式的引數傳入並呼叫Python函式
- 函式作為引數傳遞函式
- [scala]函數語言程式設計思想入門函數程式設計
- Java 函數語言程式設計Java函數程式設計
- Java中的函數語言程式設計(二)函式式介面Functional InterfaceJava函數程式設計函式Function
- Go語言Slice作為函式引數詳解Go函式
- 《Java 8函數語言程式設計》選讀:為什麼要給Java 8中加入函數語言程式設計?Java函數程式設計
- Java中的函數語言程式設計(三)lambda表示式Java函數程式設計
- 函數語言程式設計入門函數程式設計
- Java 函數語言程式設計(二)Lambda表示式Java函數程式設計
- 函式式思維和函數語言程式設計函式函數程式設計
- Lambda表示式入門--函數語言程式設計與函式式介面函數程式設計函式
- 函數語言程式設計(2) 高階函式函數程式設計函式
- 函數語言程式設計函數程式設計
- 函數語言程式設計:Lambda 表示式函數程式設計
- 函數語言程式設計入門教程函數程式設計
- 瞭解 JavaScript 函數語言程式設計 - 宣告式函式JavaScript函數程式設計函式
- Python 函數語言程式設計 – 高階函式Python函數程式設計函式
- 函數語言程式設計4-高階函式函數程式設計函式
- Python函數語言程式設計指南(2):函式Python函數程式設計函式
- Python函數語言程式設計自帶函式Python函數程式設計函式
- 函數語言程式設計-鏈式程式設計RAC函數程式設計
- Java函數語言程式設計中歸約reduce()的使用教程Java函數程式設計
- JavaScript中的函數語言程式設計JavaScript函數程式設計
- JavaScript 中的函數語言程式設計JavaScript函數程式設計
- 使用 Java 8 函數語言程式設計生成字母序列Java函數程式設計
- 對 “C語言指標變數作為函式引數” 的個人理解C語言指標變數函式
- 函式中引數傳值函式
- 函數語言程式設計,真香函數程式設計
- javascript函數語言程式設計JavaScript函數程式設計
- 初探函數語言程式設計函數程式設計
- 函數語言程式設計初探函數程式設計
- JavaScript 函數語言程式設計JavaScript函數程式設計
- js函式作為函式的引數程式碼例項JS函式