Java中ArrayList和LinkedList区别是什么-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

左云ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

这篇文章将为大家详细讲解有关Java中ArrayList和LinkedList区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一:ArrayList和LinkedList的大致区别如下:

1.ArrayList是实现了基于动态数组的数据结构,ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

2.LinkedList基于链表的数据结构, 插入、删除元素时效率比较高  故:【插入、删除操作频繁时,可使用LinkedList来提高效率】

                     LinkedList提供对头部和尾部元素进行添加和删除操作的方法,插入/删除第一个和最后一个效率比较高;

3:ArrayList和LinkedList都是List接口的实现,都存储一组不唯一,有序(插入顺序)的对象, 对元素进行添加、删除等操作[ 即:List的性质]

4.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。

5.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

6:LinkedList比ArrayList更占内存

eg:(代码示例01)----ArrayList与LinkedLis的数据添加和查找耗时对比

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class HFSD {
  static final int N=50000;   //添加5000条数据
   static long timeList(List list){    //添加数据所需时间
         long start=System.currentTimeMillis();
        Object o = new Object();
         for(int i=0;i<N;i++) {
             list.add(0, o);
           }
         return System.currentTimeMillis()-start;
       }
   static long readList(List list){      //查找数据所需时间
         long start=System.currentTimeMillis();
         for(int i=0,j=list.size();i<j;i++){

           }
         return System.currentTimeMillis()-start;
       }

       static List addList(List list){
         Object o = new Object();
         for(int i=0;i<N;i++) {
            list.add(0, o);
           }
         return list;
       }
   public static void main(String[] args) {
        System.out.println("ArrayList添加"+N+"条耗时:"+timeList(new ArrayList()));
         System.out.println("LinkedList添加"+N+"条耗时:"+timeList(new LinkedList()));

       List list1=addList(new ArrayList<>());
       List list2=addList(new LinkedList<>());
        System.out.println("ArrayList查找"+N+"条耗时:"+readList(list1));
        System.out.println("LinkedList查找"+N+"条耗时:"+readList(list2));
     }

文章标题:Java中ArrayList和LinkedList区别是什么-创新互联
当前地址:https://www.cdcxhl.com/article28/cchpcp.html

成都网站建设公司_创新互联,为您提供网站建设虚拟主机软件开发外贸网站建设服务器托管网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化