【问题标题】:Removing, Searching, and Returning a position using Type T使用 Type T 删除、搜索和返回位置
【发布时间】:2015-07-05 02:57:10
【问题描述】:

需要帮助定义这些方法,我不熟悉使用 T 型。

LinkedList类中定义以下两个方法:

1) searchItem 方法在列表中查找类型为 T 的项,如果找到则返回列表中的位置,否则返回 -1

2) removeItem 方法将要移除的 T 类型的项目作为参数,如果项目成功移除,则返回 true,否则返回 false。

【问题讨论】:

  • Type T 就像你在泛型编程中使用的模板。它通常用于类中以替代多态行为。不适用于您的情况。
  • 这不是家庭作业问题的落点。
  • 泛型只是混淆了您被要求浏览链表,就像 Maarten 暗示的那样,这是一个常见的一年级程序员家庭作业......

标签: java generics methods types


【解决方案1】:

这听起来有点像家庭作业。

当您在 java 中创建一个泛型类时,您只需要该类就可以了。

public class LinkedList<T>

T 可以是您想要的任何字母。你选择什么并不重要。然后,当您创建该类的实例时,您将给它类型 t。

LinkedList<int> mylist = new LinkedList<int>();

这将创建一个链表实例,其中引用 T 的所有内容都将替换为 int。

所以你的方法只需要使用类型 T。

public class LinkedList<T>
{

    public int Search(T toSearch)
    {
        //search your nodes
        return -1;
    }

    public boolean Remove(T toRemove)
    {
        //find item and remove if you can, return true
        return false;
    }

}

最后一点,返回一个表示成功的布尔值是BAD。如果用户试图删除不在列表中的东西,这是一个例外情况,应该抛出异常。否则它不需要返回任何东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 2015-10-13
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2012-01-22
    • 2020-04-02
    相关资源
    最近更新 更多