1.首先自定义一个Operate接口,如下所示:
public interface Operate {
public Integer caozuo(Integer i);
}
2.实现自定义的ArrayList类,即自定义MyArrayList类,如下:
import java.util.ArrayList; public class MyArrayList {
private ArrayList<Integer> list;
private ArrayList<Integer> resultList; public MyArrayList(ArrayList<Integer> list) {
this.list = list;
} public ArrayList<Integer> map(Operate op){
resultList = new ArrayList<Integer>();
for(Integer i : list){
resultList.add(op.caozuo(i));
}
return resultList;
} }
3.按正说还需要写一个实现Operate接口的类,但是我们这里可以使用匿名接口实现类,所以测试代码如下:
import java.util.ArrayList; public class Test01 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5); MyArrayList myList = new MyArrayList(list); ArrayList<Integer> map = myList.map(new Operate() {
@Override
public Integer caozuo(Integer i) {
return i * 10;
}
}); System.out.println(map); }
}