Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA-循环linkedlist/在linkedlist中查找字符串_Java - Fatal编程技术网

JAVA-循环linkedlist/在linkedlist中查找字符串

JAVA-循环linkedlist/在linkedlist中查找字符串,java,Java,高,我如何循环通过一个链表。我需要编写一个find()方法,如果列表中有某个字符串,该方法将返回true public boolean find( Stack<String> s, String key ) { for( String item : s ) { if( item.equals( key ) ) return true; } return false; } 公共布尔查找(堆栈、字符串键) { 用于(字符串项:s) { 如果(项等

高,我如何循环通过一个链表。我需要编写一个find()方法,如果列表中有某个字符串,该方法将返回true

public boolean find( Stack<String> s, String key )
{
for( String item : s )
    {
    if( item.equals( key ) )
        return true;
    }
return false;
}
公共布尔查找(堆栈、字符串键)
{
用于(字符串项:s)
{
如果(项等于(键))
返回true;
}
返回false;
}
已经有一个“contains”方法:

)


如果LinkedList元素只是字符串,那么它应该可以正常工作。否则,您需要覆盖模型的“equals”方法。

通常,您有一个指向列表标题的指针。检查指向的项目是否与搜索字符串匹配。如果是,则返回true。如果没有,则将指针移动到列表中的下一项。如果到达列表的末尾,则返回false

(我假设这是家庭作业,所以我不会实际编写代码。如果您向我们展示一些非工作代码,我们将帮助您使其工作。)

编辑添加:如果您使用的是链表,为什么要传入堆栈?不管怎样,您发布的代码看起来应该可以工作。您可能应该发布用于设置数据的代码,并调用
find
方法;那里可能有问题


您提到的错误听起来像是您没有正确地传递堆栈;您应该能够对堆栈的内容执行foreach循环。

听起来您好像在说您正在实现一个名为
Stack
的自定义链表实现,并且正在使用for-each语法对列表进行循环。为了使用该语法,您的类需要实现
Iterable
接口。这意味着您还需要为列表创建一个
迭代器
,该迭代器将提供
next()
hasNext()
、和
remove()
方法

,如果您想使用java习惯用法实现指针,您可以将其作为迭代器公开。ok thanx。但是我得到了这个错误:foreach不适用于表达式类型。。我总是犯这个错误。我已经缩减了大约2个小时,但仍然没有成功。好的,我已经在我的问题中添加了我的方法。。我需要编写一个find()方法externanlyok,我已经将我的方法添加到了我的问题中。。我需要编写一个find()方法externalypublic boolean find(字符串s){返回this.contains(s);}=)