在Set和List方法下的选择Contains

1.补充知识:

java.lang.String.contains()

方法返回true,当且仅当此字符串包含指定的char值序列

contains()用于匹配字符串,当匹配成功返回true

2.在Set和List方法下的选择Contains

Acknowledge:

Set检索元素效率低下,删除和插入效率高;

List查找元素效率高,插入删除元素效率低。

但是我们在实际开发中的经验:

           我们会面临在下述ProductListOrderBy接口中,若有contains方法查询对象元素时候,Set集合比List效率更高,我们证明出了,Set()的时间复杂度是O(1)而List.contain的时间复杂度是O(n)(PS:List虽然用get(index)方法查询效率高,虽然下面面这个例子只有两个元素,但是我们需要养成一个好习惯

 

public interface ProductListOrderBy{

Set<String> PRICE_ASC_DESC= Sets.newHashSet("price_desc","price_asc");

}
if(Const.ProductListOrderBy.PRICE_ASC_DESC.contains(orderBy)){

String[] orderByArray = orderBy.split("_");

PageHelper.orderBy(orderByArray[0]+" "+orderByArray[1]);

}

当然对于具体Set方法和List方法的对比

在这附上一篇UP写的挺好的,比较方法

List与Set的contains方法效率问题

https://www.cnblogs.com/GoQC/p/5821294.html

猜你喜欢

转载自blog.csdn.net/qq_37457202/article/details/82228125
今日推荐