When accessing ArrayBuffer data with indices, the most common problem we can run into is exceeding the ArrayBuffer's bounds.
Remember, the items of an ArrayBuffer are indexed from 0 to size - 1. Any index which is not in this range is invalid.
When you try to access an item with an invalid index, Scala throws an exception:
val ourArray = scala.collection.mutable.ArrayBuffer(50, 40, 30)
// Valid indices: 0, 1, 2
println(ourArray(0)) // Output: 50
println(ourArray(2)) // Output: 30
// Invalid indices: 3, 30, -1
println(ourArray(3)) // throws IndexOutOfBoundsException
println(ourArray(30)) // throws IndexOutOfBoundsException
println(ourArray(-1)) // throws IndexOutOfBoundsException
As programmers, we always want to make sure that we don't exceed one ArrayBuffer's bounds in our programs.
Assignment
Follow the Coding Tutorial and let's play with some arrays.
Hint
Look at the examples above if you get stuck.
Free plan: 30 tutor messages. PRO is unlimited.
