这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,49 @@ int[][] declarationAndThenInitialization() {
return multiDimensionalArray;
}

int[][] declarationAndThenInitializationBaseOnIndex() {
int[][] multiDimensionalArray = new int[3][];
multiDimensionalArray[0] = new int[2];
multiDimensionalArray[1] = new int[3];
multiDimensionalArray[2] = new int[4];

multiDimensionalArray[0][0] = 1;
multiDimensionalArray[0][1] = 2;

multiDimensionalArray[1][0] = 3;
multiDimensionalArray[1][1] = 4;
multiDimensionalArray[1][2] = 5;

multiDimensionalArray[2][0] = 6;
multiDimensionalArray[2][1] = 7;
multiDimensionalArray[2][2] = 8;
multiDimensionalArray[2][3] = 9;

return multiDimensionalArray;
}

int[][] declarationAndThenInitializationUsingUserInputs() {
int[][] multiDimensionalArray = new int[3][];
multiDimensionalArray[0] = new int[2];
multiDimensionalArray[1] = new int[3];
multiDimensionalArray[2] = new int[4];

initializeElements(multiDimensionalArray);
return multiDimensionalArray;
}

int[][] declarationAndThenInitializationFirstAlternative() {
int[][] multiDimensionalArray = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4, 5 }, new int[] { 6, 7, 8, 9 } };

return multiDimensionalArray;
}

int[][] declarationAndThenInitializationSecondAlternative() {
int[][] multiDimensionalArray = { new int[] { 1, 2 }, new int[] { 3, 4, 5 }, new int[] { 6, 7, 8, 9 } };

return multiDimensionalArray;
}

void initializeElements(int[][] multiDimensionalArray) {
Scanner sc = new Scanner(System.in);
for (int outer = 0; outer < multiDimensionalArray.length; outer++) {
Expand All @@ -48,6 +82,15 @@ void printElements(int[][] multiDimensionalArray) {
}
}

void printElementsUsingNestedForLoop(int[][] multiDimensionalArray) {
for (int i = 0; i < multiDimensionalArray.length; i++) {
for (int j = 0; j < multiDimensionalArray[i].length; j++) {
System.out.print(multiDimensionalArray[i][j] + " ");
}
System.out.println();
}
}

int[] getElementAtGivenIndex(int[][] multiDimensionalArray, int index) {
return multiDimensionalArray[index];
}
Expand All @@ -62,8 +105,8 @@ int[] findLengthOfElements(int[][] multiDimensionalArray) {

Integer[] findLengthOfElements(Integer[][] multiDimensionalArray) {
return Arrays.stream(multiDimensionalArray)
.map(array -> array.length)
.toArray(Integer[]::new);
.map(array -> array.length)
.toArray(Integer[]::new);
}

int[][] copy2DArray(int[][] arrayOfArrays) {
Expand All @@ -77,7 +120,7 @@ int[][] copy2DArray(int[][] arrayOfArrays) {

Integer[][] copy2DArray(Integer[][] arrayOfArrays) {
return Arrays.stream(arrayOfArrays)
.map(array -> Arrays.copyOf(array, array.length))
.toArray(Integer[][]::new);
.map(array -> Arrays.copyOf(array, array.length))
.toArray(Integer[][]::new);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,21 @@ public void givenMultiDimensionalArray_whenUsingArraysAPI_thenVerifyPrintedEleme
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
obj.printElements(multiDimensionalArr);
assertEquals("[1, 2][3, 4, 5][6, 7, 8, 9]", outContent.toString().replace("\r", "").replace("\n", ""));
assertEquals("[1, 2][3, 4, 5][6, 7, 8, 9]", outContent.toString()
.replace("\r", "")
.replace("\n", ""));
System.setOut(System.out);
}

@Test
public void givenMultiDimensionalArray_whenUsingNestedForLoopToPrint_thenVerifyPrintedElements() {
int[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
obj.printElementsUsingNestedForLoop(multiDimensionalArr);
assertEquals("1 2 3 4 5 6 7 8 9 ", outContent.toString()
.replace("\r", "")
.replace("\n", ""));
System.setOut(System.out);
}

Expand All @@ -57,27 +71,27 @@ public void givenMultiDimensionalArray_whenUsingArraysFill_thenVerifyInitialize2
multiDimensionalArr[1] = new int[3];
multiDimensionalArr[2] = new int[4];
obj.initialize2DArray(multiDimensionalArr);
assertArrayEquals(new int[][] {{7,7}, {7,7,7}, {7,7,7,7}}, multiDimensionalArr);
assertArrayEquals(new int[][] { { 7, 7 }, { 7, 7, 7 }, { 7, 7, 7, 7 } }, multiDimensionalArr);
}

@Test
public void givenMultiDimensionalArray_whenUsingIteration_thenVerifyFindLengthOfElements() {
int[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
assertArrayEquals(new int[]{2,3,4}, obj.findLengthOfElements(multiDimensionalArr));
assertArrayEquals(new int[] { 2, 3, 4 }, obj.findLengthOfElements(multiDimensionalArr));
}

@Test
public void givenMultiDimensionalArray_whenUsingArraysStream_thenVerifyFindLengthOfElements() {
Integer[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
assertArrayEquals(new Integer[]{2,3,4}, obj.findLengthOfElements(multiDimensionalArr));
assertArrayEquals(new Integer[] { 2, 3, 4 }, obj.findLengthOfElements(multiDimensionalArr));
}

@Test
public void givenMultiDimensionalArray_whenUsingArraysCopyOf_thenVerifyCopy2DArray() {
int[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
assertArrayEquals(multiDimensionalArr, obj.copy2DArray(multiDimensionalArr));
}

@Test
public void givenMultiDimensionalArray_whenUsingArraysStream_thenVerifyCopy2DArray() {
Integer[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } };
Expand Down