scala中的map语法:
def map[B](f: Int => B)(implicit ct: scala.reflect.ClassTag[B]): Array[B]
override def map[B](f: Int => B): scala.collection.mutable.ArraySeq[B]
应用:给的scala函数要符合函数声明标准
计算方式为乘10
scala> arr
res55: Array[Int] = Array(1, 2, 3, 4, 5)
scala> arr.map((a: Int) => a * 10)
res56: Array[Int] = Array(10, 20, 30, 40, 50)
java实现:
package lucas;
import java.util.ArrayList;
public class MyList {
private ArrayList<Integer> arrayList;
public MyList(ArrayList<Integer> arrayList) {
this.arrayList = arrayList;
}
public ArrayList<Integer> getNewArrayList(IOperate op) {
return op.operate(arrayList);
}
public static void main(String[] args) {
ArrayList<Integer> result = new ArrayList<>();
ArrayList<Integer> integers = new ArrayList<>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(4);
MyList myList = new MyList(integers);
ArrayList<Integer> newArrayList = myList.getNewArrayList(new IOperate() {
@Override
public ArrayList operate(ArrayList<Integer> arrayList) {
for (Integer i : arrayList) {
result.add(i * 10);
}
return result;
}
});
// result.forEach(x-> System.out.println("x = " + x));
for (Integer integer : result) {
System.out.println("integer = " + integer);
}
}
}
接口:
package lucas;
import java.util.ArrayList;
public interface IOperate {
ArrayList<Integer> operate(ArrayList<Integer> arrayList);
}