实现一个自定义的ArrayList类,实现将原List中的每个数据都乘以10

1.首先自定义一个Operate接口,如下所示:

public interface Operate {
    public Integer caozuo(Integer i);
}
View Code

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;
    }

}
View Code

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);

    }
}
View Code

猜你喜欢

转载自www.cnblogs.com/python-machine/p/10450900.html