java - java中的get(int index)方法

标签 java indexing methods

我正在尝试执行 get(int index) 方法,该方法返回列表中指定索引处的元素,但我看不到要返回的内容。 tempNode之后我最终会得到什么?

public E get(int index) throws IndexOutOfBoundsException {
    Node tempNode = head;
    if (index < 0 || index >= size) {
        throw new IllegalArgumentException("index was out of bounds");
    }
    for (int i = 0; i < index; i++) {
        tempNode = tempNode.getmNextNode();
    }
    return tempNode.;
}

我正在使用 Node 类:

public class Node<E> {
    private E mElement;
    private Node<E> mNextNode;

    Node(E data) {
        this.setmElement(data);
    }
    public E getmElement() {
        return this.mElement;
    }
    public void setmElement(E element) {
        this.mElement = element;
    }
    public Node<E> getmNextNode() {
        return this.mNextNode;
    }
    public void setmNextNode(Node<E> node) {
        this.mNextNode = node;
    }
}

最佳答案

你有一个 getmElement()方法Node这将返回您想要的数据。

但是,目前您的get(int)方法是使用原始 Node变量,因此无法要求它提供适当的返回类型。目前tempNode.getmElement()只会返回 Object .

您需要做的是使用Node<E>像这样:

public E get(int index) throws IndexOutOfBoundsException {
    Node<E> tempNode = head;
    if (index < 0 || index >= size) {
        throw new IllegalArgumentException("index was out of bounds");
    }
    for (int i = 0; i < index; i++) {
        tempNode = tempNode.getmNextNode();
    }
    return tempNode.getmElement();
}

关于java - java中的get(int index)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60288770/

相关文章:

java - 在具有相同 CN 名称但别名不同的信任库中导入多个 CA

c# - c#中这两个方法调用有什么区别?

java - vaadin setItemCaptionPropertyId 组合框中有多个标题

java - 哈希(带有 Spring)和盐 : is this safe?

mysql - 有没有办法限制 Mysql 表的索引以便整体性能不受影响?

javascript - 无法创建以数组索引作为键和值的 JS 对象?

c++ - 从 JIT 代码调用方法

C# 方法组 bool ?

java - 哪种代码在查找列表中的特定元素方面表现更好

javascript - 如何将选项卡索引限制为仅叠加层及其元素