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写的挺好的,比较方法