Java 我们如何将一个字符串列表与一个字符串进行比较
我有:Java 我们如何将一个字符串列表与一个字符串进行比较,java,Java,我有: 我想检查列表中是否存在sherlock,而不对每个循环使用。您可以这样做 asList(Value).contains(“要搜索的字符串”) 更好的选择是将数组转换为列表,以便可以使用多个函数这个问题本质上要求您迭代数组中的所有元素,本质上是为每个元素执行一个。但是,您可以选择是想要良好的内存性能,还是想要良好的查找执行时间 如果希望获得良好的内存性能,请保持原样,并在每次执行检查时遍历列表。为了获得良好的执行时间,您应该创建一个hashset,并使用列表中的每个子字符串填充它。这有点费
我想检查列表中是否存在sherlock,而不对每个
循环使用。您可以这样做
asList(Value).contains(“要搜索的字符串”)
更好的选择是将数组转换为列表,以便可以使用多个函数这个问题本质上要求您迭代数组中的所有元素,本质上是为每个元素执行一个。但是,您可以选择是想要良好的内存性能,还是想要良好的查找执行时间
如果希望获得良好的内存性能,请保持原样,并在每次执行检查时遍历列表。为了获得良好的执行时间,您应该创建一个hashset,并使用列表中的每个子字符串填充它。这有点费时且占用大量内存,但一旦您构建了集合,您就可以保留它并重新使用,使每次运行时检查只需要logn时间。您可以将数组转换为单个字符串,然后使用String.contains方法
String[] Value={"Available to trade at 12 30","I love sherlock"}
Java流在这方面很方便
String entireArray = Arrays.toString(Value);
boolean sherlockPresent = entireArray.contains("sherlock");
如果要获取包含sherlock的字符串:
String[] value = {"Available to trade at 12 30", "I love sherlock"};
Stream.of(value).anyMatch(s -> s.contains("sherlock"));
如果您不关心顺序,也可以使用findAny()。findAny和findFirst都返回一个可选值,如果没有匹配项,该值将为空。get()将抛出。您有一个数组。遍历容器并使用contains()
“sherlock”在数组中不存在。它存在于数组的一个元素中……根据@cricket_007注释,您想在数组或元素数组中查找字符串吗?这不提供如何获取“sherlock”的解决方案,尽管请在回答中提供代码,而不是作为linkString str=“I love sherlock”;String[]splited=str.split(\\b+);asList(splited).contains(“sherlock”)这是一个注释。请在您的答案下找到相应的“编辑”链接。不要对代码使用注释
String[] value = {"Available to trade at 12 30", "I love sherlock"};
Stream.of(value).filter(s -> s.contains("sherlock")).findFirst().get();