2D Array Week 8
Me attempting to do the work and be responsible
- Learning Objective!
- 2D Array Vocab
- The Basics
- Initializing a Sample Array:
- Accessing and Updating Elements of a 2D Array:
- Hack 2: Changing a Value:
- Nested Loops:
- Hack 3: Unknown Dimensions:
- Searching for a Value in a 2D Array:
- Hack 4: Finding the Min/Max Value:
- HW
- 2017 FRQ 4 A-B
- Extra Credit -- Christmas Tree
2D Array Vocab
Array = a data structure used to implement a collection (list) of primitive or object reference data Element = a single value in the array Index = the position of the element in the array (starts from 0) Array Length = the number of elements in the array
- Is public, so can be accessed in any class
- Is also final, so can’t change it after array has been created
The Basics
A 2D array is an array of arrays and can be a better way to store data Declaring a 2D array:
- ``DataType[][] nameOf2DArray``
Initializing a 2D array
- ``DataType[][] nameOf2DArray = new DataType[r][c];``
- r = # of rows
- The # of arrays in the array
- r = list.length
- c = # of columns
- The # of elements in the inner arrays
- ``c = list[0].length``
public class Test {
public static void main(String[] args) {
int[][] arr = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
System.out.println("arr[0][0] = " + arr[0][0]);
System.out.println("arr[1][2] = " + arr[1][2]);
System.out.println("arr[2][1] = " + arr[2][1]);
}
}
Test.main(null);
public class Test {
public static void main(String[] args) {
String[][] arr = {
{ "a", "f", "g" },
{ "b", "e", "h" },
{ "c", "d", "i" }
};
System.out.println(arr[arr.length - 1][arr[0].length - 1]);
}
}
Test.main(null);
public class Test {
public static void main(String[] args) {
String[][] arr = {
{ "Atlanta", "Baltimore", "Chicago" },
{ "Australia", "Boston", "Cincinnati" },
{ "Austin", "Beaumont", "Columbus" }
};
arr[2][0] = "Athens";
System.out.println(arr[2][0]);
// Change Austin to Athens and print!
System.out.println("Successfully changed Austin to Athens and printed!");
}
}
Test.main(null);
public class Test {
public static void main(String[] args) {
String[][] arr = {
{ "a", "f", "g", "l" },
{ "b", "e", "h", "k" },
{ "c", "d", "i", "j" }
};
for (int row = 0; row < 3; row++) {
for (int col = 0; col < 4; col++) {
System.out.print(arr[row][col] + " ");
}
System.out.println(" ");
}
}
}
Test.main(null);
public class Test {
public static void main(String[] args) {
String[][] arr = {
{ "Atlanta", "Baltimore", "Chicago" },
{ "Australia", "Boston", "Cincinnati" },
{ "Austin", "Beaumont", "Columbus" }
};
for (int row = 0; row < 3; row++) {
for (int col = 0; col < 3; col++) {
System.out.print(arr[row][col] + " ");
}
System.out.println(" ");
}
// Print out the array without using numerical values!
}
}
Test.main(null);
public class Test {
public static void main(String[] args) {
String[][] arr = {
{ "Atlanta", "Baltimore", "Chicago" },
{ "Australia", "Boston", "Cincinnati" },
{ "Austin", "Beaumont", "Columbus" }
};
String match = "";
String name = "Boston";
for (String[] row : arr) {
for (String item : row) {
if (item.equals(name)) {
match = name;
}
}
}
if (match.length() == 0) {
System.out.println("No Match!");
} else {
System.out.println(name);
}
}
}
Test.main(null);
public class Test {
public static void main(String[] args) {
String[][] arr = {
{ "Atlanta", "Baltimore", "Chicago" },
{ "Australia", "Boston", "Cincinnati" },
{ "Austin", "Beaumont", "Columbus" }
};
String longest = arr[0][0];
for (int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[i].length; j++){
if (longest.length() < arr[i][j].length()) {
longest = arr[i][j];
}
}
}
System.out.println(longest);
String shortest = arr[0][0];
for (int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[i].length; j++){
if (shortest.length() > arr[i][j].length()) {
shortest = arr[i][j];
}
}
}
System.out.println(shortest);
}
}
Test.main(null);
public static Position findPosition(int num, int[][] intArr)
{
for (int row=0; row < intArray.length; row++)
{
for (int col=0; col < intArray[0].length; col++)
{
if (intArray[row][col] == num)
{
return new Position(rol, col);
}
}
}
return.null;
}
public static Position[][] getSuccessorArray(int[][] intArr)
{
Position[][] newArray = new Position[intArray.length][intArray[0].length];
for (int row=0; row < intArray.length; row++)
{
for (int col=0; col < intArray[0].length; col++)
{
newArray[row][col] = findPosition(intArray[row][col]+1, intArray);
}
}
return newArray;
}
public class ChristmasTree {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10 - i; j++)
System.out.print(" ");
for (int k = 0; k < (2 * i + 1); k++)
System.out.print("*");
System.out.println();
}
}
}
ChristmasTree.main(null);