想问下,我返回一个linklist,用list接收后,我没有手动转换成ArrayList的情况下,继续拿着这个list去遍历,那么程序遍历的时候会采用哪种集合类型去遍历?
ArrayList 还是 LinkList
public List sort(List list) {
LinkedList linkedList = new LinkedList<>();
linkedList.addAll(list);
MarkerInfoUtil markerInfoUtil = null;
for (int j = 0; j < linkedList.size(); j++) {
if (linkedList.get(j).getMacid().equals(macId)) {
markerInfoUtil = linkedList.get(j);
linkedList.remove();
j--;
}
}
linkedList.addLast(markerInfoUtil);
return linkedList;
//排序
List<MarkerInfoUtil> sort =sort(infos);
for (MarkerInfoUtil info : sort) {
}
使用ArrayList ,底层是数组,查询快;你是要进行查询数据,遍历的效率越高越好!LinkedList的底层是链表,增删会快,但查询要根据节点进行获取,效率会慢很多