繁体   English   中英

将一维数组存储到二维

[英]Storing one dimensional array to two dimensional

我正在尝试将ArrayList拆分并存储在二维数组中。 我可以用“:”字符分割每个ArrayList项。 稍后,我能够将split函数返回的结果存储在一维数组中。

我的ArrayList内容如下:a:b:c:d:e
号码:问:R:S:T:U:v
M:N:○

现在,我想将结果存储在二维数组中。 我遵循以下方法:

String a[]={};
String array[][] = {};

for(int i=0;i<abc.size();i++){
    a = abc.get(i).split(":");

    for(int j=0; j<a.length; j++){
        array[i][j] = a[j];
    }
}

但是,我收到ArrayIndexOutOfBounds异常。

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
        at com.exp.users.MainActivity.onCreate(MainActivity.java:54)
        at android.app.Activity.performCreate(Activity.java:5231)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
        at android.app.ActivityThread.access$800(ActivityThread.java:144)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5146)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
        at dalvik.system.NativeStart.main(Native Method)

有人可以分享如何做吗?

数组初始化不正确。 应该以new String[abc.size()][] ,而不是{} new String[abc.size()][] 另外,您必须将嵌套数组初始化为new String[a.length] 完整代码:

List<String> abc = Arrays.asList("a:b:c:d:e", "p:q:r:s:t:u:v", "m:n:o");
String a[];
String array[][] = new String[abc.size()][];
for(int i=0;i<abc.size();i++){
    a = abc.get(i).split(":");
    array[i] = new String[a.length];
    for(int j=0; j<a.length; j++) array[i][j] = a[j];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM