zoukankan      html  css  js  c++  java
  • List的add方法与addAll方法的区别、StringBuffer的delete方法与deleteCharAt的区别

    List的add方法与addAll方法

    区别

    add
    add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素

    addAll
    addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小

    分析
    List result = new ArrayList();

    // add(int index,Elelemt e)把list中的每一个元素加到result中,result.size()==list.size()
    result.addAll(list);

    //addAll(Collection c)将list作为一个元素加到result中,则result.size()为1
    result.add(list);

    addAll(Collection c)

    此方法按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。如果正在进行此操作时修改指定的 collection ,那么此操作的行为是不确定的。(这意味着如果指定的 collection是此列表且此列表是非空的,那么此调用的行为是不确定的)。

    C:包含要添加到此列表中的元素的 collection

    return:如果此列表由于调用而发生更改,则返回 true

    Throws:NullPointerException: 如果指定的 collection 为 null

    示例

    List list = new ArrayList<>();
    List<List> list1 = new ArrayList<>();
    List list2 = new ArrayList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println(list);
    list1.add(list);
    System.out.println("add方法:"+list1);
    list2.addAll(list);
    System.out.println("addAll方法:"+list2);

    list1与list2插入结果如下:
    [1, 2, 3]
    add方法:[[1, 2, 3]]
    addAll方法:[1, 2, 3]

    list1与list2遍历结果如下:

    for (List list3 : list1) {
    System.out.println("list1遍历结果:"+list3);
    }for (String list4 : list2) {
    System.out.println("list2遍历结果:"+list4);
    }
    结果:
    list1 遍历结果:[1, 2, 3]
    list2 遍历结果:1
    list2 遍历结果:2
    list2 遍历结果:3

    StringBuffer的delete方法与deleteCharAt的区别

    区别

    delete方法与deleteCharAt两个方法都是用来删除StringBuffer字符串指定索引字符的方法,

    delete(int  a,int  b)有两个参数,使用时删除索引从a开始(包含a)到b(不包含b)的所有字符;

    deleteCharAt(int  a)只有一个参数,使用时删除索引为a的字符;

    示例

    StringBuffer buff = new StringBuffer("0123456789");
    System.out.println("buff="+buff);

    //删除下标从3到5的字符
    buff.delete(3,5);
    System.out.println("deletionBack="+ buff);

    buff = new StringBuffer("0123456789");
    //删除下标为8字符
    buff.deleteCharAt(8);
    System.out.println("delectCharAtBack="+buff);

    控制台输出结果:
    buff=0123456789
    deletionBack=01256789
    delectCharAtBack=012345679

  • 相关阅读:
    Linux 学习 step by step (1)
    ubuntu server nginx 安装与配置
    ubuntu server samba服务器配置
    iOS app集成支付宝支付流程及后台php订单签名处理
    mac 连接windows 共享内容
    linux 文件查找,which,whereis,locate,find
    ubuntu server vsftpd 虚拟用户及目录
    ubuntu server 安装 mantis bug tracker 中文配置
    ubuntu server vsftpd 匿名用户上传下载及目录设置
    linux 用户管理,用户权限管理,用户组管理
  • 原文地址:https://www.cnblogs.com/chen-chen-chen/p/11897918.html
Copyright © 2011-2022 走看看