java中的二维字符串数组

时间:2013-10-04 04:45:50

标签: java arraylist multidimensional-array

我是java新手,请帮我解决这个问题。
我有一个字符串让我们说

adc|def|efg||hij|lmn|opq

现在我将此字符串拆分并使用

将其存储在数组中
String output[] = stringname.split("||");

现在我再次需要根据'|'拆分 我需要像

这样的东西

arr[1][]=adc,arr[2][]=def
等等,以便我可以访问每个元素。 像二维字符串数组的东西。 我听说这可以使用 Arraylist 来完成,但我无法弄明白。 请帮忙。

3 个答案:

答案 0 :(得分:1)

除了名字[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]

答案 1 :(得分:0)

你能做的是:

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);

答案 2 :(得分:0)

难以理解你的问题......

我猜你可能想要使用2维的ArrayList:ArrayList<ArrayList<String>>

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);
}