Java 获取链接列表中以特定字符开头的所有元素

Java 获取链接列表中以特定字符开头的所有元素,java,Java,我有一个我自己创建的链表。我想在下面的方法中检索以给定输入的最后一个字符开头的所有元素 public String tracker(String w) { SampleNode d = head(); while(d != null) { if(w.charAt(w.length() -1) == d.getElement().charAt(0)) { return d.getElement();

我有一个我自己创建的链表。我想在下面的方法中检索以给定输入的最后一个字符开头的所有元素

public String tracker(String w)
{
    SampleNode d = head();

    while(d != null)
    {
        if(w.charAt(w.length() -1) == d.getElement().charAt(0))
        {
            return d.getElement();
        }
        d = d.getNext();
    }
    return null;
}
上面的代码只返回第一个元素,但我需要所有元素。我该怎么做?谢谢

编辑:适用于任何需要正确答案的人

public List tracker(String w)
{
    SampleNode d = head();
    LinkedList another = new LinkedList();

    while(d != null)
    {
        if(w.charAt(w.length() -1) == d.getElement().charAt(0))
        {
            another.add(d.getElement());
        }
        d = d.getNext();
    }
    return another;
}

我不会给你工作代码,但可以告诉你怎么做

您只是在循环中立即返回元素。这就是你想要的

获取列表,然后继续添加,最后返回列表


您几乎完成了,只需获取一个新列表,添加到if条件中的列表中,并在最后返回。

我不会给您工作代码,但可以告诉您如何操作

您只是在循环中立即返回元素。这就是你想要的

获取列表,然后继续添加,最后返回列表


差不多完成了,只需获取一个新列表,将其添加到if条件中的列表中,最后返回即可。

如果希望所有元素都包含重复条目,则最好使用list,如下例所示:

public List<String> tracker(String w) {
    SampleNode d = head();
    // declare list to populate with all elements
    List<String> allElements = new ArrayList<>();
    while (d != null) {
        if (w.charAt(w.length() - 1) == d.getElement().charAt(0)) {
             // add element to the list
             allElements.add(d.getElement());
        }
        d = d.getNext();
    }

    return allElements;
}

如果希望所有元素都包含重复条目,则最好使用列表,如下例所示:

public List<String> tracker(String w) {
    SampleNode d = head();
    // declare list to populate with all elements
    List<String> allElements = new ArrayList<>();
    while (d != null) {
        if (w.charAt(w.length() - 1) == d.getElement().charAt(0)) {
             // add element to the list
             allElements.add(d.getElement());
        }
        d = d.getNext();
    }

    return allElements;
}

我无法将列表用于此任务。不幸的是,只有我建立的链表可以使用。@ZeroDarkThirty。在一个善良的世界里,每个LinkedLiist都是列表。我不能用列表来完成这个任务。不幸的是,只有我建立的链表可以使用。@ZeroDarkThirty。在一个美好的世界里,每个LinkedLiist都是List。所以该方法现在应该返回一个新的List,而不是string?我已经根据您在OP中的指示添加了新代码。它完成了任务!非常感谢。一个额外的查询。。。如果if条件失败,有没有方法返回null或类似的内容?您可以使用return-other.isEmpty?空:另一个;在返回您填写的结果链接列表之前,请检查其大小。如果大小为零,您知道返回什么;那么这个方法现在应该返回一个新的列表,而不是字符串?我已经根据你在OP中的指令添加了新代码。它完成了任务!非常感谢。一个额外的查询。。。如果if条件失败,有没有方法返回null或类似的内容?您可以使用return-other.isEmpty?空:另一个;在返回您填写的结果链接列表之前,请检查其大小。如果大小为零,您知道返回什么;