java - 使用 T 型删除、搜索和返回位置

标签 java generics methods types

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

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

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

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

最佳答案

这听起来很像家庭作业。

当您在 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;
    }

}

最后一点,返回 boolean 值表示成功是不好。如果用户尝试删除列表中没有的内容,则属于异常(exception)情况,并且应该引发异常。否则它不需要返回任何东西。

关于java - 使用 T 型删除、搜索和返回位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882475/

相关文章:

java - 从多个随机字符变量中创建单个字符串变量

java - 使用泛型和通配符进行合适的设计

objective-c - 要求传递到 Objective-C 方法的对象符合协议(protocol)?

android - 如何覆盖 Phonegap webview 的方法?

python - 帮助 Python 方法中的内部循环

java - Quarkus:数据源自定义凭据提供程序

java - 防止 JTextField 中出现字母数字

java - 为什么使用 POST 方法的 Java HttpURLConnections 会导致返回 Http 500 错误?

android - 泛型类型和多态性

c# - 这是 C# 泛型错误吗?