java Arrays.asList com.google.common.collect.Lists.newArrayList 效率问题
来源:互联网 发布:修改数据库system密码 编辑:程序博客网 时间:2024/05/21 10:49
Arrays.asList(new int[]{goodsId});
Lists.newArrayList(goodsId):com.google.common.collect.Lists
请问这两个哪个效率高一些
理论上应该是:asList效率高,
因为:
Arrays.asList:
第一步:
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
第二步:
ArrayList(E[] array) {
if (array==null)
throw new NullPointerException();
a = array;//此处直接复制地址,耗时几乎为0
}
com.google.common.collect.Lists.newArrayList:
第一步:
public static <E> ArrayList<E> newArrayList(E... elements) {
Preconditions.checkNotNull(elements);
int capacity = computeArrayListCapacity(elements.length);
ArrayList<E> list = new ArrayList(capacity);
Collections.addAll(list, elements);//此处需要添加元素
return list;
}
第二步:
public static <T>boolean addAll(Collection<?super T> c, T... elements) {
boolean result = false;
for (T element : elements)//走for循环了,按理讲应该是耗时间的
result |= c.add(element);
return result;
}
结论:第一个效率高一些,但是第一种无法再添加元素、或者修改元素
阅读全文
1 0
- java Arrays.asList com.google.common.collect.Lists.newArrayList 效率问题
- Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Lists
- com.google.common.collect.ImmutableSet
- java.util.Arrays.asList 问题
- java.util.Arrays.asList 问题
- Lists.newArrayList
- java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet()异常解决思路
- JBOSS报错:com.google.common.collect.ComputationException: java.lang.ArrayIndexOutOfBoundsException: 3
- 如何解决sikuli-ide: java.lang.NoClassDefFoundError: com/google/common/collect/MapMaker
- 【软件测试】Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet
- java.util.Arrays.asList 的小问题
- java.util.Arrays.asList 的小问题
- Java-Arrays.asList()使用中的问题
- 【java】Arrays.asList、Arrays.copyOfRange
- Java Arrays.asList 实例
- java -> Arrays.asList()用法
- Java中Arrays.asList()
- Java Arrays.asList注意事项
- [容易] DAG的拓扑排序
- 范式
- 如何在服务器上搭建一个lamp(Linux(CentOS7)+Apache+MySQL+PHP)环境
- ApplicationInfo 存储信息放上来是方便查看
- LAMP之apache源码安装
- java Arrays.asList com.google.common.collect.Lists.newArrayList 效率问题
- HTTP协议中PUT和POST使用区别
- js 合并json数组中有同一key值的json
- 学习Opencv 2.4.9(二) ---操作像素
- 字符串
- 洛谷P1941 飞扬的小鸟
- final关键字
- 计数排序的简单实现
- Retrofit使用大全