[英]How to check if any of multiple elements are in a List in a convenient way?
[英]Convenient method to check if a list contains multiple elements
如何检查字符串列表是否同时包含某些特定字符串,而不必执行多个包含。
例如这样的事情:
if (templist.contains("aaa") && templist.contains("bbb")) {
}
List.containsAll
函数实际上可以实现您的要求。 但是,使用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>
类为基本操作( add, remove, contains and size
)提供恒定的时间性能 。 as containsAll
固有地使用contains
函数来查找元素,订单可以预期为O(N+K)
你可以使用containsAll
if (templist.containsAll(Arrays.asList("aaa", "bbb"))) {
// do something
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.