如何检查字符串列表是否同时包含某些特定字符串,而不必执行多个包含。
例如这样的事情:
if (templist.contains("aaa") && templist.contains("bbb")) {
}
最佳答案
List.containsAll
功能其实可以达到你的要求。但是,使用 containsAll
使用列表类型可能会降低性能,因为顺序是 O(NK)
哪里N
是列表元素的数量,K 是目标字符串的数量。尝试使用 HashSet
提高性能:
HashSet<String>set = new HashSet<>(list);
if(set.containsAll(Arrays.asList("asd", "efg")))
// do my job;
因为, HashSet<E>
class为基本操作提供恒定时间性能 ( add, remove, contains and size
)。如containsAll
本质上使用 contains
查找元素的函数,顺序预计为 O(N+K)
关于java - 检查列表是否包含多个元素的便捷方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20455654/