集合之--ArrayList操作

  • 插入元素

    逐条加入

    ArrayList<String> alist = new ArrayList();
    alist.add("lambo");

    在指定地点加入

    alist.add(1,"lambo2")

    将另一个ArrayList加入当前ArrayList

    ArrayList alist2 = new ArrayList();
    alist2.add("lambos");
    alist.addAll(alist2);
  • 删除元素

    删除对应位置的内容

    alist.remove(1);
    

    删除整个ArrayList

    alist.clear();
    

    按照条件删除对应字段

    alist.removeIf(str -> str.length() > 5)//这里删除的是长度5以上的字段,使用的是Lambda表达式,具体的Lambda以后在详细说明
    
  • 遍历

    iterator遍历

    Iterator it = alist.iterator();
    while (it.hasNext()) {
        it.next();
    }
    

    for循环遍历

    for (int i = 0; i < alist.size(); i++) {
            alist.get(i);
        }
    

    for each循环遍历

    for (String s:alist) {
            System.out.println(s);
        }
    
  • 总结

    ArrayList和LinkedList由于都是实现的List类,所以大部分操作都是类似的,熟悉了LinkedList的相关操作,ArrayList大部分也就都会了,但是这里要说明的这两个list的不同之处,方便在实际开发中进行选择

    ArrayList是基于索引的数据结构,通过索引来读取数据比较快,但ArrayList有个扩容操作,会消耗一定资源,并且对于添加和删除效率比较差,因为执行添加删除操作之后ArrayList要重新排布插入点或删除点后面的全部数据,越靠前,消耗越大。

    LinkedList是基于链表的数据结构读取数据是比较慢,因为它要从第一个节点往后遍历,但是对于插入删除数据,LinkedList是比较快的,因为LinkedList的节点与节点之间是不连续的,是通过记录上一个节点和下一个节点将整个list串起来的,所以在执行插入删除操作时,只需要修改对应的上一个节点和下一个节点就好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值