gpt4 book ai didi

android - 如何检查数组是否包含特定术语 - Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:22:39 25 4
gpt4 key购买 nike

我目前有一个声明,上面写着

if(Arrays.asList(results).contains("Word"));

我想在 .contains 参数中至少添加几个术语,但我的印象是在一行中包含大量术语是一种糟糕的编程习惯。

我的问题是,是否有更合适的方式来存储我希望在 .contains 参数中拥有的所有值?

谢谢

最佳答案

您可以使用两个列表的交集:

String[] terms = {"Word", "Foo", "Bar"};
List<String> resultList = Arrays.asList(results);
resultList.retainAll(Arrays.asList(terms))
if(resultList.size() > 0)
{
/// Do something
}

不过,为了提高性能,最好使用两个 HashSet 的交集:

String[] terms = {"Word", "Foo", "Bar"};
Set<String> termSet = new HashSet<String>(Arrays.asList(terms));
Set<String> resultsSet = new HashSet<String>(Arrays.asList(results));
resultsSet.retainAll(termSet);
if(resultsSet.size() > 0)
{
/// Do something
}

附带说明一下,上面的代码会检查任何 项是否出现在结果 中。要检查 所有 术语是否出现在结果中,您只需确保交集与术语列表的大小相同:

 resultsSet.retainAll(termSet);
if(resultSet.size() == termSet.size())

关于android - 如何检查数组是否包含特定术语 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9853885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com