【问题标题】:Search a string array for a specific string. [closed]在字符串数组中搜索特定字符串。 [关闭]
【发布时间】:2016-05-02 16:31:10
【问题描述】:

我希望有人可以提供帮助。好吧,我知道如何使用线性搜索在数组中查找数值。但现在我想学习如何在字符串数组中搜索字符串。

例如,如果我有一个学生姓名的字符串数组,我如何搜索该数组以在该数组中找到一个特定的姓名?

如果有人可以给我写一个简单的例子,因为我还是 Java 新手。谢谢,还有没有更好的方法来搜索这些东西或线性搜索? :)

【问题讨论】:

  • 当您说“帮助”但没有表现出任何努力时,人们会将其解释为“为我做”,这就是您被否决的原因。 “给我写一个简单的例子”可能也没有帮助。请在下次询问之前努力,因为这不是免费的编码服务。

标签: java linear-search


【解决方案1】:

使用Arrays.asList() 将数组包装在一个列表中。然后使用contains()方法在List中搜索:

String[] a= {"is", "are", "then"};
Arrays.asList(a).contains("are");

您也可以使用数组,但必须编写更多代码行。 contains() 方法也只进行 linear 搜索。

public static boolean useLoop(String[] arr, String targetValue) {
    for(String s: arr){
        if(s.equals(targetValue))
            return true;
    }
    return false;
}

【讨论】:

    【解决方案2】:

    字符串的代码可以与数值的代码相同,但您应该使用 String 类的 equals(...) 方法而不是 ==

    您应该使用equals(...),因为两个不同的 String 对象可能具有相同的字符。但是== 是不正确的,因为它们是不同的对象。

    比较表达式示例:

    myArray[i].equals(myString)
    

    myString.equals(myArray[i]) 
    

    注意:确保左侧的部分不是null。否则你会得到一个NullPointerException

    【讨论】:

      猜你喜欢
      • 2014-05-27
      • 2023-03-28
      • 2020-09-29
      • 2013-03-02
      • 1970-01-01
      • 2017-09-04
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      相关资源
      最近更新 更多