在字符串数组中搜索特定字符串。 [关闭]
Posted
技术标签:
【中文标题】在字符串数组中搜索特定字符串。 [关闭]【英文标题】:Search a string array for a specific string. [closed] 【发布时间】:2016-05-02 16:31:10 【问题描述】:我希望有人可以提供帮助。好吧,我知道如何使用线性搜索在数组中查找数值。但现在我想学习如何在字符串数组中搜索字符串。
例如,如果我有一个学生姓名的字符串数组,我如何搜索该数组以在该数组中找到一个特定的姓名?
如果有人可以给我写一个简单的例子,因为我还是 Java 新手。谢谢,还有没有更好的方法来搜索这些东西或线性搜索? :)
【问题讨论】:
当您说“帮助”但没有表现出任何努力时,人们会将其解释为“为我做”,这就是您被否决的原因。 “给我写一个简单的例子”可能也没有帮助。请在下次询问之前努力,因为这不是免费的编码服务。 【参考方案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
。
【讨论】:
以上是关于在字符串数组中搜索特定字符串。 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JSON Postgres 数据类型列中搜索特定字符串?