【问题标题】:How to write a contains method in Java in linkedlist?如何在链表中用 Java 编写包含方法?
【发布时间】:2021-02-11 12:54:21
【问题描述】:

我在编写一段代码时遇到了麻烦,该代码应该在链表中找到一个元素,如果找到它,则返回 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,我似乎无法弄清楚原因

【问题讨论】:

  • 每个问题你应该问 1 个问题。如果您没有工作代码,请写一个minimal reproducible example 关于它。如果您在实现特定功能时遇到问题,请仅写下该功能。

标签: java linked-list contains


【解决方案1】:

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

您可能希望在搜索主体周围包裹一个 for 循环

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

【讨论】:

  • 哦,我现在明白了。感谢您的大力帮助!
猜你喜欢
  • 1970-01-01
  • 2013-10-12
  • 2018-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 2015-07-20
相关资源
最近更新 更多