繁体   English   中英

检查列表是否包含多个元素的便捷方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM