Java中LinkedList与ArrayList的相同点和区别

一、总体概括

ArrayList是顺序结构,所以定位很快,但插入,删除数据慢。
LinkedList 是链表结构,定位慢,但插入,删除数据快。

二、相同点:
与ArrayList一样,LinkedList也实现了List接口,可以实现ArrayList中的常用方法:

  1. add()方法:add 有两种用法:
    第一种是直接add对象,把对象加在最后面。
    第二种是在指定位置加对象。
  2. contains() :判断一个对象是否在容器中
    判断标准: 是否是同一个对象。
  3. get()方法: 获取指定位置的对象,但要注意下标越界问题。
  4. indexOf():用于判断一个对象在ArrayList中所处的位置。
  5. remove() :用于把对象从ArrayList中删除:
    remove可以根据下标删除ArrayList的元素,也可以根据对象删除。
  6. set(): 用于修改指定位置的元素。
  7. size() :用于获取ArrayList的大小。
  8. toArray() :可以把一个ArrayList对象转换为数组。
  9. addAll() : 把另一个容器所有对象都加进来。
    10.clear(): 清空一个ArrayList。

三、不同点
1. 除了实现了List接口外,LinkedList还实现了双向链表结构Deque,可以很方便的在头尾插入删除数据。


		//LinkedList是一个双向链表结构的list
        LinkedList<Integer> i =new LinkedList<>();
         
        //所以可以很方便的在头部和尾部插入数据
        //在尾部插入数据
        i.addLast(1);
         
        //在最前面插入数据
        i.addFirst(2);
         
        //查看最前面的数据
        System.out.println(i.getFirst());
        //查看最后面的数据
        System.out.println(i.getLast());
         
        //取出最前面的数据
        System.out.println(i.removeFirst());
         
        //取出最后面的数据
        System.out.println(i.removeLast());

2. LinkedList 除了实现了List和Deque外,还实现了Queue接口(队列)。Queue是先进先出队列 FIFO,常用方法:offer 在最后添加元素,poll 取出第一个元素,peek 查看第一个元素

		Queue<Integer> q= new LinkedList<>();
        q.offer(1);
        System.out.print("把第一个元素peek()出来:\t"+q.peek());
        System.out.print("把第一个元素取poll()出来:\t"+q.poll());

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值