2016-03-01 3 views
0

Я хочу знать, можно ли обрабатывать массив в другом массиве, я никогда не слышал о чем-то подобном, и мне любопытно, если это возможно, потому что я пишу небольшую программную установку сейчас и Мне нужно что-то подобное! пример (возможно, это может быть решена, кроме использования массива в массиве): у меня есть две строковые массивы, как это:Array in a Array

public String[] stringArray1 = { "0", "1", "2", "3" }, stringArray2 = { "0", "1", "2", "3" }; 

Теперь мне нужно было что-то вроде этого:

public /*type?*/[] allArrays = { stringArray1, stringArray2 }; 

потому что мне нужно получить к нему доступ, используя цикл for, и я не хочу использовать тысячи операторов if для доступа к stringArrays (это просто пример в моей реальной программе, например, 100 массивов):

for(int i = 0; i < numberOfArrays/*100*/; i+=2) 
test/*a rondom void*/(allArrays[i], allArrays[i+1]); 

в моей программе всегда есть два массива, связанные именно поэтому я называю один с I и один с I + 1 ... так что теперь это, как мой тест выглядит следующим образом:

public void test(/*type?*/ test1, /*type?*/ test2) 
{ 
//now i need to use test1 & test2 as string to f.e. like this: 
if(test1[2].contains("1")) 
//do something 
} 
+3

'String [] []', двухмерную матрицу, на самом деле массив, содержащий массивы. – SomeJavaGuy

+2

Вы имеете в виду 'String [] []', i.e. 2D-массив? – Thomas

ответ

2
String[][] arrays = new String[][] { stringarray1, stringarray2, stringarray3 }; 
+1

если вы хотите, чтобы ваш код был динамическим, попробуйте использовать arraylist ArrayList > list1 = new ArrayList >(); ArrayList listoflists = new ArrayList (); nodes.add (listoflists); – SmashCode

+0

именно то, что я искал! благодаря :) – SyxDuLappen

2

Это duplicate. Вам нужен массив массивов.

public String[][] allArrays = { stringArray1, stringArray2 }; 
+3

Вы признаете, что это дубликат, так зачем отвечать, а не просто отмечать как дублировать? – Idos

+0

@Idos Я не думаю, что у меня достаточно репутации SO, чтобы отметить это как дубликат. – m1o2

+0

флаг как дубликат :) (я не спускал вниз, просто чтобы быть ясным) – Idos