• ArrayList集合、String[]数组、String字符串


    数组初始化时候必须指定长度,而ArrayList是动态数组,可以根据实际内容改变

    //声明stsArr数组并初始化

    String[] strArr = new String[]{ "aaa", "bbb" }; 

    //声明list集合

    ArrayList<String> list = new ArrayList<String>();

    list.add("aaa");

    list.add("bbb");

    1、ArrayList转String[]-----集合转换成数组

    使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一样的数组,大小就是list.size()

    正例:

      List<String> list = new ArrayList<String>(2);

       list.add("guan");    

       list.add("bao");      

       String[] array = new String[list.size()];      

      array = list.toArray(array); 

      //String[] strArr = (String[]) list.toArray(new String[list.size()]);

    说明使用 toArray 带参方法,入参分配的数组空间不够大时,toArray 方法内部将重新分配 内存空间,并返回新数组地址;如果数组元素大于实际所需,下标为[ list.size() ]的数组 元素将被置为 null,其它数组元素保持原值,因此最好将方法入参数组大小定义与集合元素 个数一致。

    2、String[]List<String>-----使用工具类 Arrays.asList()把数组转换成集合不能使用其修改集合相关的方 法,它的 add/remove/clear 方法会抛出 UnsupportedOperationException 异常

    说明:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList 体现的是适配器模式,只是转换接口,后台的数据仍是数组。
      String[] str = new String[] { "a", "b" };

       List list = Arrays.asList(str);

    第一种情况:list.add("c"); 运行时异常。

    第二种情况:str[0]= "gujin"; 那么 list.get(0)也会随之修改

    3、String[]转String

    String str = String.join(",", strArr);

    结果str:aaa,bbb

    ArrayList 和LInkedList

    ArrayList是线性表结构,查询效率高,数据的增删改,效率低

    LinkedLIst 是链表结构,查询效率低,数据的增删改效率高。

    作者:howtosay
             
    放牛娃的个人笔记整理,每天记录一点点,进步一点点
  • 相关阅读:
    Cookie中文乱码问题
    [转]Resolving kernel symbols
    [转]Blocking Code Injection on iOS and OS X
    [转]About the security content of iOS 8
    [转]iOS: About diagnostic capabilities
    [转]iOS hacking resource collection
    [转]Patching the Mach-o Format the Simple and Easy Way
    [转]Use the IDA and LLDB explore WebCore C + + class inheritance
    [转]Avoiding GDB Signal Noise.
    [转]http://www.russbishop.net/xcode-exception-breakpoints
  • 原文地址:https://www.cnblogs.com/hongzm/p/7699609.html
Copyright © 2020-2023  润新知