如何在linkedlist中用Java编写contains方法



我在编写一段代码时遇到了麻烦,该代码应该在链表中找到一个元素,如果找到了,则返回true,否则返回false。

这是我的代码:

import java.util.Scanner;
import java.util.LinkedList; 

class LinkedListDemo { 
private static LinkedList<Integer> list;
public static void main(String args[]) { 

list = new LinkedList<Integer>(); 
Scanner s = new Scanner(System.in);  

list.add(10); 
list.add(21); 
list.add(32); 
list.add(43); 
list.add(54); 


System.out.println("LinkedList:" + list); 


System.out.println("nDoes the List contains '10': " + search(10)); 


}
public static boolean search(int i) {
if (list.equals(i)) {
return true;
}
else return false;
}
} 

我可以使用linkedlist包中提供的contains方法,但我希望能够创建自己的方法来做同样的事情。此外,我的方法总是返回false,我似乎不明白的原因

它总是返回false,因为listListiint,所以它们不可能相等,因为它们不是同一类型。

你可能想在你的搜索体上绕一个for循环

public static boolean search(int i) {
for(int item : list)
if(item == i) return true;
return false;
}

最新更新