java中的二维字符串数组

java中的二维字符串数组,java,arraylist,multidimensional-array,Java,Arraylist,Multidimensional Array,我是java新手,请帮我解决这个问题。 我有一根绳子,让我们说吧 adc|def|efg||hij|lmn|opq 现在我拆分这个字符串,并使用 String output[] = stringname.split("||"); 现在,我再次需要根据“|”进行拆分 我需要像这样的东西 arr[1][]=adc、arr[2][]=def等等,这样我就可以访问每个元素。 类似于二维字符串数组的东西。 我听说这可以使用Arraylist来完成,但我无法理解。 请提供帮助。这是您的解决方案,除了名称

我是java新手,请帮我解决这个问题。
我有一根绳子,让我们说吧

adc|def|efg||hij|lmn|opq
现在我拆分这个字符串,并使用

String output[] = stringname.split("||");
现在,我再次需要根据“|”进行拆分 我需要像这样的东西

arr[1][]=adc、arr[2][]=def等等,这样我就可以访问每个元素。
类似于二维字符串数组的东西。
我听说这可以使用Arraylist来完成,但我无法理解。

请提供帮助。

这是您的解决方案,除了名称[0][0]=“adc”、名称[0][1]=“def”等等:

String str = "adc|def|efg||hij|lmn|opq";
String[] obj = str.split("\\|\\|");
    int i=0;
    String[][] names = new String[obj.length][]; 

    for(String temp:obj){
        names[i++]=temp.split("\\|");

    }
List<String[]> yourList = Arrays.asList(names);// yourList will be 2D arraylist.
System.out.println(yourList.get(0)[0]); // This will print adc.
System.out.println(yourList.get(0)[1]); // This will print def.
System.out.println(yourList.get(0)[2]); // This will print efg.
               // Similarly you can fetch other elements by yourList.get(1)[index]
String str=“adc | def | efg | hij | lmn | opq”;
String[]obj=str.split(“\\\\\\\\\\”);
int i=0;
字符串[][]名称=新字符串[obj.length][];
用于(字符串温度:obj){
名称[i++]=临时拆分(“\\\\”);
}
List yourList=Arrays.asList(names);//您的列表将是2D arraylist。
System.out.println(yourList.get(0)[0]);//这将打印adc。
System.out.println(yourList.get(0)[1]);//这将打印def。
System.out.println(yourList.get(0)[2]);//这将打印efg。
//类似地,您可以通过list.get(1)[索引]获取其他元素
您可以做的是:

String str[]="adc|def|efg||hij|lmn|opq".split("||");
String str2[]=str[0].split("|");
str2 will be containing abc, def , efg
// arrays have toList() method like:

Arrays.asList(any_array);

我几乎无法理解你的问题

我想您可能需要使用二维ArrayList:
ArrayList

String input=“adc | def | efg | hij | lmn | opq”;
ArrayList res=新的ArrayList();
for(字符串字符串strs:input.split(“| |”)){
ArrayList strList=新的ArrayList();
用于(字符串str:strs.split(“|”))
strList.add(str);
res.add(strList);
}

为什么要逃逸管道?我尝试过没有逃逸管道,但它没有正确地拆分字符串。这就是为什么我添加了逃逸管道和宾果游戏。它起作用了。:)问题的
ArrayList
部分在哪里?!但是如何从名称数组中提取每个字符串呢?上面写着null。@R.J我忘了粘贴最后一行。;)@魔术-它是
名称
数组,而不是
名称
,顺便说一句,您是如何访问它的?对不起,预期的是arr[0][0]=adc,arr[0][1]=def等等。您的意思是说使用单独的数组根据“|”对其进行细分吗??但是产生的分裂的数量是不同的。我的意思是你如何访问它们,根据你的需要,你可以在它们周围循环并将它们放入数组,数组列表,无论你想要什么,我展示了如何分割它们
String input = "adc|def|efg||hij|lmn|opq";
ArrayList<ArrayList<String>> res = new ArrayList<ArrayList<String>>();
for(String strs:input.split("||")){
    ArrayList<String> strList = new ArrayList<String>();
    for(String str:strs.split("|"))
        strList.add(str);
    res.add(strList);
}