通用实现的函数“insert”

nnvyjq4y  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(264)
public interface IGenericList<T> {
    void insert(T element);
    void println();

}

public class GenericList<T> implements IGenericList<T> {

    private T param;

    public GenericList(T rootValue) {
        param = rootValue;
    }

    @Override
    public void insert(T element) {
        param = param + element; //error "Operator + cannot be applied to 'T', 'T'
    }
    @Override
    public void println() {
        System.out.println(param);
    }
}

如何实现该功能?”插入“我是一个初学者,这就是我在问题中给出的全部内容

l7mqbcuq

l7mqbcuq1#

我不知道您需要什么igenericlist,因为list接口已经是通用的,并且是所有实现,但我不知道所有业务方面。为了插入一些数据,您需要适当的数据结构,这方面的经典数据结构是数组。我用泛型风格为数组字段类型编写了通用逻辑。

public interface IGenericList<T> {
        void insert(int index, T element);

        void append(T element);

        void println();
    }

    public static class GenericList<T> implements IGenericList<T> {

        private T[] params;

        public GenericList(T[] rootValue) {
            this.params = rootValue;
        }

        @Override
        public void insert(int index, T element) {
            if(index > params.length) {
                throw new IndexOutOfBoundsException();
            }
            params[index] = element;
        }

        @Override
        public void append(T element) {
            //find first null value or expand array and add value
        }

        @Override
        public void println() {
            System.out.println(Arrays.toString(params));
        }
    }

相关问题