-
-
Notifications
You must be signed in to change notification settings - Fork 48
Expand file tree
/
Copy patharray_list.html
More file actions
226 lines (184 loc) · 101 KB
/
array_list.html
File metadata and controls
226 lines (184 loc) · 101 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<!DOCTYPE HTML>
<html lang="en" class="sidebar-visible no-js light">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>ArrayList - Modern Java</title>
<!-- Custom HTML head -->
<meta name="description" content="Book teaching how to write modern and effective Java.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets -->
<link rel="stylesheet" href="ferris.css">
<!-- MathJax -->
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>
<body>
<!-- Provide site root to javascript -->
<script>
var path_to_root = "";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
</script>
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script>
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script>
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
html.classList.remove('light')
html.classList.add(theme);
html.classList.add('js');
</script>
<!-- Hide / unhide sidebar before it is displayed -->
<script>
var html = document.querySelector('html');
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="prelude.html"><strong aria-hidden="true">1.</strong> Prelude</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="prelude/asking_for_help.html"><strong aria-hidden="true">1.1.</strong> Asking for Help</a></li><li class="chapter-item expanded "><a href="prelude/toy_problems.html"><strong aria-hidden="true">1.2.</strong> Toy Problems</a></li><li class="chapter-item expanded "><a href="prelude/lies.html"><strong aria-hidden="true">1.3.</strong> Lies</a></li><li class="chapter-item expanded "><a href="prelude/ai.html"><strong aria-hidden="true">1.4.</strong> AI</a></li><li class="chapter-item expanded "><a href="prelude/java.html"><strong aria-hidden="true">1.5.</strong> Java</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Modern Java</li><li class="chapter-item expanded "><a href="text_editors/set_up_your_computer.html"><strong aria-hidden="true">2.</strong> Set Up Your Computer</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="text_editors.html"><strong aria-hidden="true">2.1.</strong> Text Editors</a></li><li class="chapter-item expanded "><a href="text_editors/ides.html"><strong aria-hidden="true">2.2.</strong> IDEs</a></li><li class="chapter-item expanded "><a href="text_editors/vscodium.html"><strong aria-hidden="true">2.3.</strong> VSCodium</a></li><li class="chapter-item expanded "><a href="text_editors/install_vscodium.html"><strong aria-hidden="true">2.4.</strong> Install VSCodium</a></li><li class="chapter-item expanded "><a href="text_editors/install_java.html"><strong aria-hidden="true">2.5.</strong> Install Java</a></li></ol></li><li class="chapter-item expanded "><a href="the_terminal.html"><strong aria-hidden="true">3.</strong> The Terminal</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="the_terminal/bash.html"><strong aria-hidden="true">3.1.</strong> Bash</a></li><li class="chapter-item expanded "><a href="the_terminal/windows_subsystem_for_linux.html"><strong aria-hidden="true">3.2.</strong> Windows Subsystem for Linux</a></li><li class="chapter-item expanded "><a href="the_terminal/chromebooks_and_school_computers.html"><strong aria-hidden="true">3.3.</strong> Chromebooks and School Computers</a></li><li class="chapter-item expanded "><a href="the_terminal/commands.html"><strong aria-hidden="true">3.4.</strong> Commands</a></li><li class="chapter-item expanded "><a href="the_terminal/directories.html"><strong aria-hidden="true">3.5.</strong> Directories</a></li><li class="chapter-item expanded "><a href="the_terminal/listing_files.html"><strong aria-hidden="true">3.6.</strong> Listing Files</a></li><li class="chapter-item expanded "><a href="the_terminal/creating_directories.html"><strong aria-hidden="true">3.7.</strong> Creating Directories</a></li><li class="chapter-item expanded "><a href="the_terminal/changing_directories.html"><strong aria-hidden="true">3.8.</strong> Changing Directories</a></li><li class="chapter-item expanded "><a href="the_terminal/creating_files.html"><strong aria-hidden="true">3.9.</strong> Creating Files</a></li><li class="chapter-item expanded "><a href="the_terminal/run_java_programs.html"><strong aria-hidden="true">3.10.</strong> Run Java Programs</a></li><li class="chapter-item expanded "><a href="the_terminal/getting_used_to_it.html"><strong aria-hidden="true">3.11.</strong> Getting Used to it</a></li></ol></li><li class="chapter-item expanded "><a href="first_steps.html"><strong aria-hidden="true">4.</strong> First Steps</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="first_steps/comments.html"><strong aria-hidden="true">4.1.</strong> Comments</a></li><li class="chapter-item expanded "><a href="first_steps/semicolon.html"><strong aria-hidden="true">4.2.</strong> Semicolons</a></li><li class="chapter-item expanded "><a href="first_steps/formatting.html"><strong aria-hidden="true">4.3.</strong> Formatting</a></li><li class="chapter-item expanded "><a href="first_steps/challenges.html"><strong aria-hidden="true">4.4.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="variables.html"><strong aria-hidden="true">5.</strong> Local Variables</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="variables/naming.html"><strong aria-hidden="true">5.1.</strong> Naming</a></li><li class="chapter-item expanded "><a href="variables/reassignment.html"><strong aria-hidden="true">5.2.</strong> Reassignment</a></li><li class="chapter-item expanded "><a href="variables/delayed_assignment.html"><strong aria-hidden="true">5.3.</strong> Delayed Assignment</a></li><li class="chapter-item expanded "><a href="variables/types.html"><strong aria-hidden="true">5.4.</strong> Types</a></li><li class="chapter-item expanded "><a href="variables/final_variables.html"><strong aria-hidden="true">5.5.</strong> Final Variables</a></li><li class="chapter-item expanded "><a href="variables/inferred_types.html"><strong aria-hidden="true">5.6.</strong> Inferred Types</a></li><li class="chapter-item expanded "><a href="variables/challenges.html"><strong aria-hidden="true">5.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Types I</li><li class="chapter-item expanded "><a href="boolean.html"><strong aria-hidden="true">6.</strong> Booleans</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="boolean/not.html"><strong aria-hidden="true">6.1.</strong> Not</a></li><li class="chapter-item expanded "><a href="boolean/and.html"><strong aria-hidden="true">6.2.</strong> And</a></li><li class="chapter-item expanded "><a href="boolean/or.html"><strong aria-hidden="true">6.3.</strong> Or</a></li><li class="chapter-item expanded "><a href="boolean/operator_precedence.html"><strong aria-hidden="true">6.4.</strong> Operator Precedence</a></li><li class="chapter-item expanded "><a href="boolean/challenges.html"><strong aria-hidden="true">6.5.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="integers.html"><strong aria-hidden="true">7.</strong> Integers</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="integers/integer_literals.html"><strong aria-hidden="true">7.1.</strong> Integer Literals</a></li><li class="chapter-item expanded "><a href="integers/addition.html"><strong aria-hidden="true">7.2.</strong> Addition</a></li><li class="chapter-item expanded "><a href="integers/subtraction.html"><strong aria-hidden="true">7.3.</strong> Subtraction</a></li><li class="chapter-item expanded "><a href="integers/multiplication.html"><strong aria-hidden="true">7.4.</strong> Multiplication</a></li><li class="chapter-item expanded "><a href="integers/division.html"><strong aria-hidden="true">7.5.</strong> Division</a></li><li class="chapter-item expanded "><a href="integers/remainder.html"><strong aria-hidden="true">7.6.</strong> Remainder</a></li><li class="chapter-item expanded "><a href="integers/equality.html"><strong aria-hidden="true">7.7.</strong> Equality</a></li><li class="chapter-item expanded "><a href="integers/comparison.html"><strong aria-hidden="true">7.8.</strong> Comparison</a></li><li class="chapter-item expanded "><a href="integers/chained_comparisons.html"><strong aria-hidden="true">7.9.</strong> Chained Comparisons</a></li><li class="chapter-item expanded "><a href="integers/operator_precedence.html"><strong aria-hidden="true">7.10.</strong> Operator Precedence</a></li><li class="chapter-item expanded "><a href="integers/reassignment.html"><strong aria-hidden="true">7.11.</strong> Reassignment</a></li><li class="chapter-item expanded "><a href="integers/shorthands_for_reassignment.html"><strong aria-hidden="true">7.12.</strong> Shorthands for Reassignment</a></li><li class="chapter-item expanded "><a href="integers/limits.html"><strong aria-hidden="true">7.13.</strong> Limits</a></li><li class="chapter-item expanded "><a href="integers/challenges.html"><strong aria-hidden="true">7.14.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="floating_point_numbers.html"><strong aria-hidden="true">8.</strong> Floating Point Numbers</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="floating_point_numbers/floating_point_literals.html"><strong aria-hidden="true">8.1.</strong> Floating Point Literals</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/accuracy.html"><strong aria-hidden="true">8.2.</strong> Accuracy</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/addition.html"><strong aria-hidden="true">8.3.</strong> Addition</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/subtraction.html"><strong aria-hidden="true">8.4.</strong> Subtraction</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/multiplication.html"><strong aria-hidden="true">8.5.</strong> Multiplication</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/division.html"><strong aria-hidden="true">8.6.</strong> Division</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/equality.html"><strong aria-hidden="true">8.7.</strong> Equality</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/comparison.html"><strong aria-hidden="true">8.8.</strong> Comparison</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/shorthands_for_reassignment.html"><strong aria-hidden="true">8.9.</strong> Shorthands for Reassignment</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/nan.html"><strong aria-hidden="true">8.10.</strong> NaN</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/positive_and_negative_infinity.html"><strong aria-hidden="true">8.11.</strong> Positive and Negative Infinity</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/square_root.html"><strong aria-hidden="true">8.12.</strong> Square Root</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/conversion_to_integers.html"><strong aria-hidden="true">8.13.</strong> Conversion to Integers</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/conversion_from_integers.html"><strong aria-hidden="true">8.14.</strong> Conversion from Integers</a></li><li class="chapter-item expanded "><a href="floating_point_numbers/challenges.html"><strong aria-hidden="true">8.15.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="characters.html"><strong aria-hidden="true">9.</strong> Characters</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="characters/character_literals.html"><strong aria-hidden="true">9.1.</strong> Character Literals</a></li><li class="chapter-item expanded "><a href="characters/common_escape_sequences.html"><strong aria-hidden="true">9.2.</strong> Common Escape Sequences</a></li><li class="chapter-item expanded "><a href="characters/conversion_to_integers.html"><strong aria-hidden="true">9.3.</strong> Conversion to Integers</a></li><li class="chapter-item expanded "><a href="characters/conversion_from_integers.html"><strong aria-hidden="true">9.4.</strong> Conversion from Integers</a></li><li class="chapter-item expanded "><a href="characters/unicode.html"><strong aria-hidden="true">9.5.</strong> Unicode</a></li><li class="chapter-item expanded "><a href="characters/challenges.html"><strong aria-hidden="true">9.6.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="strings.html"><strong aria-hidden="true">10.</strong> Strings</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="strings/string_literals.html"><strong aria-hidden="true">10.1.</strong> String Literals</a></li><li class="chapter-item expanded "><a href="strings/common_escape_sequences.html"><strong aria-hidden="true">10.2.</strong> Common Escape Sequences</a></li><li class="chapter-item expanded "><a href="strings/empty_string.html"><strong aria-hidden="true">10.3.</strong> The Empty String</a></li><li class="chapter-item expanded "><a href="strings/multiline.html"><strong aria-hidden="true">10.4.</strong> Multiline String Literals</a></li><li class="chapter-item expanded "><a href="strings/concatenation.html"><strong aria-hidden="true">10.5.</strong> Concatenation</a></li><li class="chapter-item expanded "><a href="strings/equality.html"><strong aria-hidden="true">10.6.</strong> Equality</a></li><li class="chapter-item expanded "><a href="strings/length.html"><strong aria-hidden="true">10.7.</strong> Length</a></li><li class="chapter-item expanded "><a href="strings/access_individual_characters.html"><strong aria-hidden="true">10.8.</strong> Access Individual Characters</a></li><li class="chapter-item expanded "><a href="strings/challenges.html"><strong aria-hidden="true">10.9.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Interactive Programs</li><li class="chapter-item expanded "><a href="standard_input.html"><strong aria-hidden="true">11.</strong> Standard Input</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="standard_input/prompting.html"><strong aria-hidden="true">11.1.</strong> Prompting</a></li><li class="chapter-item expanded "><a href="standard_input/interpreting_input.html"><strong aria-hidden="true">11.2.</strong> Interpreting Input</a></li><li class="chapter-item expanded "><a href="standard_input/integers.html"><strong aria-hidden="true">11.3.</strong> Integers</a></li><li class="chapter-item expanded "><a href="standard_input/floating_point_numbers.html"><strong aria-hidden="true">11.4.</strong> Floating Point Numbers</a></li><li class="chapter-item expanded "><a href="standard_input/other_types.html"><strong aria-hidden="true">11.5.</strong> Other Types</a></li><li class="chapter-item expanded "><a href="standard_input/challenges.html"><strong aria-hidden="true">11.6.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Control Flow I</li><li class="chapter-item expanded "><a href="branching_paths.html"><strong aria-hidden="true">12.</strong> Branching Paths</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="branching_logic/if.html"><strong aria-hidden="true">12.1.</strong> If</a></li><li class="chapter-item expanded "><a href="branching_logic/nested_ifs.html"><strong aria-hidden="true">12.2.</strong> Nested Ifs</a></li><li class="chapter-item expanded "><a href="branching_logic/else.html"><strong aria-hidden="true">12.3.</strong> Else</a></li><li class="chapter-item expanded "><a href="branching_logic/else_if.html"><strong aria-hidden="true">12.4.</strong> Else If</a></li><li class="chapter-item expanded "><a href="branching_logic/relation_to_delayed_assignment.html"><strong aria-hidden="true">12.5.</strong> Relation to Delayed Assignment</a></li><li class="chapter-item expanded "><a href="branching_logic/scoped_variables.html"><strong aria-hidden="true">12.6.</strong> Scoped Variables</a></li><li class="chapter-item expanded "><a href="branching_logic/conditional_operator.html"><strong aria-hidden="true">12.7.</strong> Conditional Operator</a></li><li class="chapter-item expanded "><a href="branching_logic/boolean_expressions.html"><strong aria-hidden="true">12.8.</strong> Boolean Expressions</a></li><li class="chapter-item expanded "><a href="branching_logic/challenges.html"><strong aria-hidden="true">12.9.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="loops.html"><strong aria-hidden="true">13.</strong> Loops</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="loops/while.html"><strong aria-hidden="true">13.1.</strong> While</a></li><li class="chapter-item expanded "><a href="loops/endless_loops.html"><strong aria-hidden="true">13.2.</strong> Endless Loops</a></li><li class="chapter-item expanded "><a href="loops/break.html"><strong aria-hidden="true">13.3.</strong> Break</a></li><li class="chapter-item expanded "><a href="loops/continue.html"><strong aria-hidden="true">13.4.</strong> Continue</a></li><li class="chapter-item expanded "><a href="loops/unreachable_code.html"><strong aria-hidden="true">13.5.</strong> Unreachable Code</a></li><li class="chapter-item expanded "><a href="loops/do_while.html"><strong aria-hidden="true">13.6.</strong> Do While</a></li><li class="chapter-item expanded "><a href="loops/nested_loops.html"><strong aria-hidden="true">13.7.</strong> Nested Loops</a></li><li class="chapter-item expanded "><a href="loops/labeled_break.html"><strong aria-hidden="true">13.8.</strong> Labeled Break</a></li><li class="chapter-item expanded "><a href="loops/labeled_continue.html"><strong aria-hidden="true">13.9.</strong> Labeled Continue</a></li><li class="chapter-item expanded "><a href="loops/iteration.html"><strong aria-hidden="true">13.10.</strong> Iteration</a></li><li class="chapter-item expanded "><a href="loops/counting_up.html"><strong aria-hidden="true">13.11.</strong> Counting Up</a></li><li class="chapter-item expanded "><a href="loops/counting_down.html"><strong aria-hidden="true">13.12.</strong> Counting Down</a></li><li class="chapter-item expanded "><a href="loops/iterate_over_a_string.html"><strong aria-hidden="true">13.13.</strong> Iterate over a String</a></li><li class="chapter-item expanded "><a href="loops/challenges.html"><strong aria-hidden="true">13.14.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Projects</li><li class="chapter-item expanded "><a href="projects/prelude.html"><strong aria-hidden="true">14.</strong> Prelude</a></li><li class="chapter-item expanded "><a href="projects/calorie_tracker.html"><strong aria-hidden="true">15.</strong> Calorie Tracker</a></li><li class="chapter-item expanded affix "><li class="part-title">Data Types II</li><li class="chapter-item expanded "><a href="arrays.html"><strong aria-hidden="true">16.</strong> Arrays</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="arrays/array_initializers.html"><strong aria-hidden="true">16.1.</strong> Array Initializers</a></li><li class="chapter-item expanded "><a href="arrays/length.html"><strong aria-hidden="true">16.2.</strong> Length</a></li><li class="chapter-item expanded "><a href="arrays/access_individual_elements.html"><strong aria-hidden="true">16.3.</strong> Access Individual Elements</a></li><li class="chapter-item expanded "><a href="arrays/set_individual_elements.html"><strong aria-hidden="true">16.4.</strong> Set Individual Elements</a></li><li class="chapter-item expanded "><a href="arrays/aliasing.html"><strong aria-hidden="true">16.5.</strong> Aliasing</a></li><li class="chapter-item expanded "><a href="arrays/reassignment.html"><strong aria-hidden="true">16.6.</strong> Reassignment</a></li><li class="chapter-item expanded "><a href="arrays/relation_to_final_variables.html"><strong aria-hidden="true">16.7.</strong> Relation to Final Variables</a></li><li class="chapter-item expanded "><a href="arrays/printing_the_contents_of_an_array.html"><strong aria-hidden="true">16.8.</strong> Printing the Contents of an Array</a></li><li class="chapter-item expanded "><a href="arrays/empty_array.html"><strong aria-hidden="true">16.9.</strong> Empty Array</a></li><li class="chapter-item expanded "><a href="arrays/difference_between_initializer_and_literal.html"><strong aria-hidden="true">16.10.</strong> Difference between Initializer and Literal</a></li><li class="chapter-item expanded "><a href="arrays/initialization_with_new.html"><strong aria-hidden="true">16.11.</strong> Initialization with new</a></li><li class="chapter-item expanded "><a href="arrays/challenges.html"><strong aria-hidden="true">16.12.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Control Flow II</li><li class="chapter-item expanded "><a href="loops_ii.html"><strong aria-hidden="true">17.</strong> Loops II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="loops_ii/for.html"><strong aria-hidden="true">17.1.</strong> For</a></li><li class="chapter-item expanded "><a href="loops_ii/for_syntax.html"><strong aria-hidden="true">17.2.</strong> For Syntax</a></li><li class="chapter-item expanded "><a href="loops_ii/for_counting_up_and_down.html"><strong aria-hidden="true">17.3.</strong> Counting Up and Down</a></li><li class="chapter-item expanded "><a href="loops_ii/iterate_over_a_string.html"><strong aria-hidden="true">17.4.</strong> Iterate over a String</a></li><li class="chapter-item expanded "><a href="loops_ii/iterate_over_an_array.html"><strong aria-hidden="true">17.5.</strong> Iterate over an Array</a></li><li class="chapter-item expanded "><a href="loops_ii/comparison_to_while.html"><strong aria-hidden="true">17.6.</strong> Comparison to while</a></li><li class="chapter-item expanded "><a href="loops_ii/i.html"><strong aria-hidden="true">17.7.</strong> i</a></li><li class="chapter-item expanded "><a href="loops_ii/break.html"><strong aria-hidden="true">17.8.</strong> Break</a></li><li class="chapter-item expanded "><a href="loops_ii/continue.html"><strong aria-hidden="true">17.9.</strong> Continue</a></li><li class="chapter-item expanded "><a href="loops_ii/delayed_assignment.html"><strong aria-hidden="true">17.10.</strong> Delayed Assignment</a></li><li class="chapter-item expanded "><a href="loops_ii/inferred_types.html"><strong aria-hidden="true">17.11.</strong> Inferred Types</a></li><li class="chapter-item expanded "><a href="loops_ii/empty_initializers.html"><strong aria-hidden="true">17.12.</strong> Empty Initializers</a></li><li class="chapter-item expanded "><a href="loops_ii/empty_expressions.html"><strong aria-hidden="true">17.13.</strong> Empty Expressions</a></li><li class="chapter-item expanded "><a href="loops_ii/empty_statements.html"><strong aria-hidden="true">17.14.</strong> Empty Statements</a></li><li class="chapter-item expanded "><a href="loops_ii/final_variables.html"><strong aria-hidden="true">17.15.</strong> Final Variables</a></li><li class="chapter-item expanded "><a href="loops_ii/labeled_break.html"><strong aria-hidden="true">17.16.</strong> Labeled Break</a></li><li class="chapter-item expanded "><a href="loops_ii/labeled_continue.html"><strong aria-hidden="true">17.17.</strong> Labeled Continue</a></li><li class="chapter-item expanded "><a href="loops_ii/drawing_right_triangles.html"><strong aria-hidden="true">17.18.</strong> Drawing Right Triangles</a></li><li class="chapter-item expanded "><a href="loops_ii/drawing_isosceles_triangles.html"><strong aria-hidden="true">17.19.</strong> Drawing Isosceles Triangles</a></li><li class="chapter-item expanded "><a href="loops_ii/challenges.html"><strong aria-hidden="true">17.20.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Code Structure</li><li class="chapter-item expanded "><a href="methods.html"><strong aria-hidden="true">18.</strong> Methods</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="methods/declaration.html"><strong aria-hidden="true">18.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="methods/invocation.html"><strong aria-hidden="true">18.2.</strong> Invocation</a></li><li class="chapter-item expanded "><a href="methods/scope.html"><strong aria-hidden="true">18.3.</strong> Scope</a></li><li class="chapter-item expanded "><a href="methods/main.html"><strong aria-hidden="true">18.4.</strong> main</a></li><li class="chapter-item expanded "><a href="methods/challenges.html"><strong aria-hidden="true">18.5.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="arguments.html"><strong aria-hidden="true">19.</strong> Arguments</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="arguments/declaration.html"><strong aria-hidden="true">19.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="arguments/invocation_with_arguments.html"><strong aria-hidden="true">19.2.</strong> Invocation with Arguments</a></li><li class="chapter-item expanded "><a href="arguments/reassignment.html"><strong aria-hidden="true">19.3.</strong> Reassignment</a></li><li class="chapter-item expanded "><a href="arguments/final_arguments.html"><strong aria-hidden="true">19.4.</strong> Final Arguments</a></li><li class="chapter-item expanded "><a href="arguments/aliasing.html"><strong aria-hidden="true">19.5.</strong> Aliasing</a></li><li class="chapter-item expanded "><a href="arguments/overloading.html"><strong aria-hidden="true">19.6.</strong> Overloading</a></li><li class="chapter-item expanded "><a href="arguments/inferred_types.html"><strong aria-hidden="true">19.7.</strong> Inferred Types</a></li><li class="chapter-item expanded "><a href="arguments/challenges.html"><strong aria-hidden="true">19.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="return_values.html"><strong aria-hidden="true">20.</strong> Return Values</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="return_values/declaration.html"><strong aria-hidden="true">20.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="return_values/return_statement.html"><strong aria-hidden="true">20.2.</strong> Return Statement</a></li><li class="chapter-item expanded "><a href="return_values/exhaustiveness.html"><strong aria-hidden="true">20.3.</strong> Exhaustiveness</a></li><li class="chapter-item expanded "><a href="return_values/void.html"><strong aria-hidden="true">20.4.</strong> void</a></li><li class="chapter-item expanded "><a href="return_values/return_in_void_methods.html"><strong aria-hidden="true">20.5.</strong> Return in void methods</a></li><li class="chapter-item expanded "><a href="return_values/conversion.html"><strong aria-hidden="true">20.6.</strong> Conversion</a></li><li class="chapter-item expanded "><a href="return_values/unreachable_statements.html"><strong aria-hidden="true">20.7.</strong> Unreachable Statements</a></li><li class="chapter-item expanded "><a href="return_values/challenges.html"><strong aria-hidden="true">20.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Types III</li><li class="chapter-item expanded "><a href="multi_dimensional_arrays.html"><strong aria-hidden="true">21.</strong> Multi-Dimensional Arrays</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="multi_dimensional_arrays/declaration.html"><strong aria-hidden="true">21.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/array_initializers.html"><strong aria-hidden="true">21.2.</strong> Array Initializers</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/initialization_with_new.html"><strong aria-hidden="true">21.3.</strong> Initialization with new</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/access_individual_elements.html"><strong aria-hidden="true">21.4.</strong> Access Individual Elements</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/set_individual_elements.html"><strong aria-hidden="true">21.5.</strong> Set Individual Elements</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/initialize_with_size.html"><strong aria-hidden="true">21.6.</strong> Initialization with Size</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/default_values.html"><strong aria-hidden="true">21.7.</strong> Default Values</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/populate_values.html"><strong aria-hidden="true">21.8.</strong> Populate Values</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/ragged_arrays.html"><strong aria-hidden="true">21.9.</strong> Ragged Arrays</a></li><li class="chapter-item expanded "><a href="multi_dimensional_arrays/challenges.html"><strong aria-hidden="true">21.10.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Projects</li><li class="chapter-item expanded "><a href="projects/ascii_art.html"><strong aria-hidden="true">22.</strong> ASCII Art Generator</a></li><li class="chapter-item expanded affix "><li class="part-title">Data Types IV</li><li class="chapter-item expanded "><a href="null.html"><strong aria-hidden="true">23.</strong> null</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="null/null_as_absence.html"><strong aria-hidden="true">23.1.</strong> Null as Absence</a></li><li class="chapter-item expanded "><a href="null/null_as_unknown.html"><strong aria-hidden="true">23.2.</strong> Null as Unknown</a></li><li class="chapter-item expanded "><a href="null/checking_for_null.html"><strong aria-hidden="true">23.3.</strong> Checking for null</a></li><li class="chapter-item expanded "><a href="null/null_pointer_exception.html"><strong aria-hidden="true">23.4.</strong> NullPointerException</a></li><li class="chapter-item expanded "><a href="null/challenges.html"><strong aria-hidden="true">23.5.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="boxed_primitives.html"><strong aria-hidden="true">24.</strong> Boxed Primitives</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="boxed_primitives/integer.html"><strong aria-hidden="true">24.1.</strong> Integer</a></li><li class="chapter-item expanded "><a href="boxed_primitives/double.html"><strong aria-hidden="true">24.2.</strong> Double</a></li><li class="chapter-item expanded "><a href="boxed_primitives/character.html"><strong aria-hidden="true">24.3.</strong> Character</a></li><li class="chapter-item expanded "><a href="boxed_primitives/boolean.html"><strong aria-hidden="true">24.4.</strong> Boolean</a></li><li class="chapter-item expanded "><a href="boxed_primitives/unboxing_conversion.html"><strong aria-hidden="true">24.5.</strong> Unboxing Conversion</a></li><li class="chapter-item expanded "><a href="boxed_primitives/boxing_conversion.html"><strong aria-hidden="true">24.6.</strong> Boxing Conversion</a></li><li class="chapter-item expanded "><a href="boxed_primitives/arrays_of_boxed_primitives.html"><strong aria-hidden="true">24.7.</strong> Arrays of Boxed Primitives</a></li><li class="chapter-item expanded "><a href="boxed_primitives/challenges.html"><strong aria-hidden="true">24.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="arrays_ii.html"><strong aria-hidden="true">25.</strong> Arrays II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="arrays_ii/initialization_with_size.html"><strong aria-hidden="true">25.1.</strong> Initializion with Size</a></li><li class="chapter-item expanded "><a href="arrays_ii/default_values.html"><strong aria-hidden="true">25.2.</strong> Default Values</a></li><li class="chapter-item expanded "><a href="arrays_ii/populate_arrays.html"><strong aria-hidden="true">25.3.</strong> Populate Arrays</a></li><li class="chapter-item expanded "><a href="arrays_ii/challenges.html"><strong aria-hidden="true">25.4.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Code Structure II</li><li class="chapter-item expanded "><a href="classes.html"><strong aria-hidden="true">26.</strong> Classes</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="classes/the_meaning_of_the_word_class.html"><strong aria-hidden="true">26.1.</strong> The meaning of the word Class</a></li><li class="chapter-item expanded "><a href="classes/class_declaration.html"><strong aria-hidden="true">26.2.</strong> Class Declaration</a></li><li class="chapter-item expanded "><a href="classes/naming.html"><strong aria-hidden="true">26.3.</strong> Naming</a></li><li class="chapter-item expanded "><a href="classes/instances.html"><strong aria-hidden="true">26.4.</strong> Instances</a></li><li class="chapter-item expanded "><a href="classes/fields.html"><strong aria-hidden="true">26.5.</strong> Fields</a></li><li class="chapter-item expanded "><a href="classes/field_initialization.html"><strong aria-hidden="true">26.6.</strong> Field Initialization</a></li><li class="chapter-item expanded "><a href="classes/field_access.html"><strong aria-hidden="true">26.7.</strong> Field Access</a></li><li class="chapter-item expanded "><a href="classes/field_default_values.html"><strong aria-hidden="true">26.8.</strong> Field Default Values</a></li><li class="chapter-item expanded "><a href="classes/aliasing.html"><strong aria-hidden="true">26.9.</strong> Aliasing</a></li><li class="chapter-item expanded "><a href="classes/return_multiple_values.html"><strong aria-hidden="true">26.10.</strong> Return Multiple Values</a></li><li class="chapter-item expanded "><a href="classes/challenges.html"><strong aria-hidden="true">26.11.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="instance_methods.html"><strong aria-hidden="true">27.</strong> Instance Methods</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="instance_methods/invocation.html"><strong aria-hidden="true">27.1.</strong> Invocation</a></li><li class="chapter-item expanded "><a href="instance_methods/arguments.html"><strong aria-hidden="true">27.2.</strong> Arguments</a></li><li class="chapter-item expanded "><a href="instance_methods/field_access.html"><strong aria-hidden="true">27.3.</strong> Field Access</a></li><li class="chapter-item expanded "><a href="instance_methods/field_updates.html"><strong aria-hidden="true">27.4.</strong> Field Updates</a></li><li class="chapter-item expanded "><a href="instance_methods/derived_values.html"><strong aria-hidden="true">27.5.</strong> Derived Values</a></li><li class="chapter-item expanded "><a href="instance_methods/invoke_other_methods.html"><strong aria-hidden="true">27.6.</strong> Invoke Other Methods</a></li><li class="chapter-item expanded "><a href="instance_methods/this.html"><strong aria-hidden="true">27.7.</strong> this</a></li><li class="chapter-item expanded "><a href="instance_methods/disambiguation.html"><strong aria-hidden="true">27.8.</strong> Disambiguation</a></li><li class="chapter-item expanded "><a href="instance_methods/clarity.html"><strong aria-hidden="true">27.9.</strong> Clarity</a></li><li class="chapter-item expanded "><a href="instance_methods/challenges.html"><strong aria-hidden="true">27.10.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Projects</li><li class="chapter-item expanded "><a href="projects/point_of_sale_system.html"><strong aria-hidden="true">28.</strong> Point of Sale System</a></li><li class="chapter-item expanded affix "><li class="part-title">Data Types V</li><li class="chapter-item expanded "><a href="enums.html"><strong aria-hidden="true">29.</strong> Enums</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="enums/declaration.html"><strong aria-hidden="true">29.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="enums/variants.html"><strong aria-hidden="true">29.2.</strong> Variants</a></li><li class="chapter-item expanded "><a href="enums/naming.html"><strong aria-hidden="true">29.3.</strong> Naming</a></li><li class="chapter-item expanded "><a href="enums/usage.html"><strong aria-hidden="true">29.4.</strong> Usage</a></li><li class="chapter-item expanded "><a href="enums/equality.html"><strong aria-hidden="true">29.5.</strong> Equality</a></li><li class="chapter-item expanded "><a href="enums/comparison_to_boolean.html"><strong aria-hidden="true">29.6.</strong> Comparison to boolean</a></li><li class="chapter-item expanded "><a href="enums/challenges.html"><strong aria-hidden="true">29.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="strings_ii.html"><strong aria-hidden="true">30.</strong> Strings II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="strings_ii/lowercase.html"><strong aria-hidden="true">30.1.</strong> lowercase</a></li><li class="chapter-item expanded "><a href="strings_ii/UPPERCASE.html"><strong aria-hidden="true">30.2.</strong> UPPERCASE</a></li><li class="chapter-item expanded "><a href="strings_ii/equality_ignoring_case.html"><strong aria-hidden="true">30.3.</strong> Equality ignoring case</a></li><li class="chapter-item expanded "><a href="strings_ii/check_if_empty.html"><strong aria-hidden="true">30.4.</strong> Check if empty</a></li><li class="chapter-item expanded "><a href="strings_ii/check_if_blank.html"><strong aria-hidden="true">30.5.</strong> Check if blank</a></li><li class="chapter-item expanded "><a href="strings_ii/strip_extra_whitespace.html"><strong aria-hidden="true">30.6.</strong> Strip extra whitespace</a></li><li class="chapter-item expanded "><a href="strings_ii/challenges.html"><strong aria-hidden="true">30.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Control Flow III</li><li class="chapter-item expanded "><a href="exceptions.html"><strong aria-hidden="true">31.</strong> Exceptions</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="exceptions/throw.html"><strong aria-hidden="true">31.1.</strong> throw</a></li><li class="chapter-item expanded "><a href="exceptions/messages.html"><strong aria-hidden="true">31.2.</strong> Messages</a></li><li class="chapter-item expanded "><a href="exceptions/stack_traces.html"><strong aria-hidden="true">31.3.</strong> Stack Traces</a></li><li class="chapter-item expanded "><a href="exceptions/try_catch.html"><strong aria-hidden="true">31.4.</strong> try/catch</a></li><li class="chapter-item expanded "><a href="exceptions/challenges.html"><strong aria-hidden="true">31.5.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="switch.html"><strong aria-hidden="true">32.</strong> Switch</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="switch/case_and_default.html"><strong aria-hidden="true">32.1.</strong> Case and Default</a></li><li class="chapter-item expanded "><a href="switch/strings.html"><strong aria-hidden="true">32.2.</strong> Strings</a></li><li class="chapter-item expanded "><a href="switch/ints.html"><strong aria-hidden="true">32.3.</strong> ints</a></li><li class="chapter-item expanded "><a href="switch/enums.html"><strong aria-hidden="true">32.4.</strong> Enums</a></li><li class="chapter-item expanded "><a href="switch/omitted_default.html"><strong aria-hidden="true">32.5.</strong> Omitted Default</a></li><li class="chapter-item expanded "><a href="switch/combining_cases.html"><strong aria-hidden="true">32.6.</strong> Combining Cases</a></li><li class="chapter-item expanded "><a href="switch/null.html"><strong aria-hidden="true">32.7.</strong> null</a></li><li class="chapter-item expanded "><a href="switch/exhaustiveness.html"><strong aria-hidden="true">32.8.</strong> Exhaustiveness</a></li><li class="chapter-item expanded "><a href="switch/challenges.html"><strong aria-hidden="true">32.9.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Interactive Programs II</li><li class="chapter-item expanded "><a href="standard_input_ii.html"><strong aria-hidden="true">33.</strong> Standard Input II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="standard_input_ii/reprompting.html"><strong aria-hidden="true">33.1.</strong> Reprompting</a></li><li class="chapter-item expanded "><a href="standard_input_ii/enums.html"><strong aria-hidden="true">33.2.</strong> Enums</a></li><li class="chapter-item expanded "><a href="standard_input_ii/delayed_assignment.html"><strong aria-hidden="true">33.3.</strong> Delayed Assignment</a></li><li class="chapter-item expanded "><a href="standard_input_ii/leniency.html"><strong aria-hidden="true">33.4.</strong> Leniency</a></li><li class="chapter-item expanded "><a href="standard_input_ii/aggregating_data.html"><strong aria-hidden="true">33.5.</strong> Aggregating Data</a></li><li class="chapter-item expanded "><a href="standard_input_ii/challenges.html"><strong aria-hidden="true">33.6.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Code Structure III</li><li class="chapter-item expanded "><a href="constructors.html"><strong aria-hidden="true">34.</strong> Constructors</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="constructors/declaration.html"><strong aria-hidden="true">34.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="constructors/the_default_constructor.html"><strong aria-hidden="true">34.2.</strong> The Default Constructor</a></li><li class="chapter-item expanded "><a href="constructors/arguments.html"><strong aria-hidden="true">34.3.</strong> Arguments</a></li><li class="chapter-item expanded "><a href="constructors/final_fields.html"><strong aria-hidden="true">34.4.</strong> Final Fields</a></li><li class="chapter-item expanded "><a href="constructors/invariants.html"><strong aria-hidden="true">34.5.</strong> Invariants</a></li><li class="chapter-item expanded "><a href="constructors/overloads.html"><strong aria-hidden="true">34.6.</strong> Overloads</a></li><li class="chapter-item expanded "><a href="constructors/delegation.html"><strong aria-hidden="true">34.7.</strong> Delegation</a></li><li class="chapter-item expanded "><a href="constructors/challenges.html"><strong aria-hidden="true">34.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="global_fields.html"><strong aria-hidden="true">35.</strong> Global Fields</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="global_fields/default_values.html"><strong aria-hidden="true">35.1.</strong> Default Values</a></li><li class="chapter-item expanded "><a href="global_fields/final_fields.html"><strong aria-hidden="true">35.2.</strong> Final Fields</a></li><li class="chapter-item expanded "><a href="global_fields/field_access.html"><strong aria-hidden="true">35.3.</strong> Field Access</a></li><li class="chapter-item expanded "><a href="global_fields/inferred_types.html"><strong aria-hidden="true">35.4.</strong> Inferred Types</a></li><li class="chapter-item expanded "><a href="global_fields/challenges.html"><strong aria-hidden="true">35.5.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Projects</li><li class="chapter-item expanded "><a href="projects/tic_tac_toe.html"><strong aria-hidden="true">36.</strong> Tic-Tac-Toe</a></li><li class="chapter-item expanded affix "><li class="part-title">Concepts</li><li class="chapter-item expanded "><a href="code_is_read_more_than_written.html"><strong aria-hidden="true">37.</strong> Code is Read more than Written</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="code_is_read_more_than_written/meaning.html"><strong aria-hidden="true">37.1.</strong> Meaning</a></li><li class="chapter-item expanded "><a href="code_is_read_more_than_written/implications.html"><strong aria-hidden="true">37.2.</strong> Implications</a></li><li class="chapter-item expanded "><a href="code_is_read_more_than_written/information_density.html"><strong aria-hidden="true">37.3.</strong> Information Density</a></li><li class="chapter-item expanded "><a href="code_is_read_more_than_written/audience.html"><strong aria-hidden="true">37.4.</strong> Audience</a></li><li class="chapter-item expanded "><a href="code_is_read_more_than_written/practice.html"><strong aria-hidden="true">37.5.</strong> Practice</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Control Flow IV</li><li class="chapter-item expanded "><a href="exceptions_ii.html"><strong aria-hidden="true">38.</strong> Exceptions II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="exceptions_ii/checked_exceptions.html"><strong aria-hidden="true">38.1.</strong> Checked Exceptions</a></li><li class="chapter-item expanded "><a href="exceptions_ii/unchecked_exceptions.html"><strong aria-hidden="true">38.2.</strong> Unchecked Exceptions</a></li><li class="chapter-item expanded "><a href="exceptions_ii/throws.html"><strong aria-hidden="true">38.3.</strong> throws</a></li><li class="chapter-item expanded "><a href="exceptions_ii/propagating_exceptions.html"><strong aria-hidden="true">38.4.</strong> Propagating Exceptions</a></li><li class="chapter-item expanded "><a href="exceptions_ii/exception.html"><strong aria-hidden="true">38.5.</strong> Exception</a></li><li class="chapter-item expanded "><a href="exceptions_ii/runtime_exception.html"><strong aria-hidden="true">38.6.</strong> RuntimeException</a></li><li class="chapter-item expanded "><a href="exceptions_ii/rethrowing_exceptions.html"><strong aria-hidden="true">38.7.</strong> Rethrowing Exceptions</a></li><li class="chapter-item expanded "><a href="exceptions_ii/main.html"><strong aria-hidden="true">38.8.</strong> main</a></li><li class="chapter-item expanded "><a href="exceptions_ii/challenges.html"><strong aria-hidden="true">38.9.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="switch_ii.html"><strong aria-hidden="true">39.</strong> Switch II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="switch_ii/yield.html"><strong aria-hidden="true">39.1.</strong> Yield</a></li><li class="chapter-item expanded "><a href="switch_ii/omitted_yield.html"><strong aria-hidden="true">39.2.</strong> Omitted Yield</a></li><li class="chapter-item expanded "><a href="switch_ii/exhaustiveness.html"><strong aria-hidden="true">39.3.</strong> Exhaustiveness</a></li><li class="chapter-item expanded "><a href="switch_ii/return_a_switch.html"><strong aria-hidden="true">39.4.</strong> Return a Switch</a></li><li class="chapter-item expanded "><a href="switch_ii/challenges.html"><strong aria-hidden="true">39.5.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Code Structure IV</li><li class="chapter-item expanded "><a href="multi_file_programs.html"><strong aria-hidden="true">40.</strong> Multi-File Programs</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="multi_file_programs/the_sources_folder.html"><strong aria-hidden="true">40.1.</strong> The Sources folder</a></li><li class="chapter-item expanded "><a href="multi_file_programs/the_main_file.html"><strong aria-hidden="true">40.2.</strong> The Main file</a></li><li class="chapter-item expanded "><a href="multi_file_programs/a_second_file.html"><strong aria-hidden="true">40.3.</strong> A Second file</a></li><li class="chapter-item expanded "><a href="multi_file_programs/file_names.html"><strong aria-hidden="true">40.4.</strong> File names</a></li><li class="chapter-item expanded "><a href="multi_file_programs/the_anonymous_main_class.html"><strong aria-hidden="true">40.5.</strong> The Anonymous Main Class</a></li><li class="chapter-item expanded "><a href="multi_file_programs/global_fields.html"><strong aria-hidden="true">40.6.</strong> Global Fields</a></li><li class="chapter-item expanded "><a href="multi_file_programs/challenges.html"><strong aria-hidden="true">40.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="visibility.html"><strong aria-hidden="true">41.</strong> Visibility</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="visibility/private_methods.html"><strong aria-hidden="true">41.1.</strong> Private Methods</a></li><li class="chapter-item expanded "><a href="visibility/private_fields.html"><strong aria-hidden="true">41.2.</strong> Private Fields</a></li><li class="chapter-item expanded "><a href="visibility/invariants.html"><strong aria-hidden="true">41.3.</strong> Invariants</a></li><li class="chapter-item expanded "><a href="visibility/accessors.html"><strong aria-hidden="true">41.4.</strong> Accessors</a></li><li class="chapter-item expanded "><a href="visibility/getter_and_setters.html"><strong aria-hidden="true">41.5.</strong> Getters and Setters</a></li><li class="chapter-item expanded "><a href="visibility/challenges.html"><strong aria-hidden="true">41.6.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="static_fields.html"><strong aria-hidden="true">42.</strong> Static Fields</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="static_fields/declaration.html"><strong aria-hidden="true">42.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="static_fields/initialization.html"><strong aria-hidden="true">42.2.</strong> Initialization</a></li><li class="chapter-item expanded "><a href="static_fields/usage.html"><strong aria-hidden="true">42.3.</strong> Usage</a></li><li class="chapter-item expanded "><a href="static_fields/constants.html"><strong aria-hidden="true">42.4.</strong> Constants</a></li><li class="chapter-item expanded "><a href="static_fields/controversy.html"><strong aria-hidden="true">42.5.</strong> Controversy</a></li><li class="chapter-item expanded "><a href="static_fields/naming.html"><strong aria-hidden="true">42.6.</strong> Naming</a></li><li class="chapter-item expanded "><a href="static_fields/challenges.html"><strong aria-hidden="true">42.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="static_methods.html"><strong aria-hidden="true">43.</strong> Static Methods</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="static_methods/declaration.html"><strong aria-hidden="true">43.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="static_methods/scope.html"><strong aria-hidden="true">43.2.</strong> Scope</a></li><li class="chapter-item expanded "><a href="static_methods/naming.html"><strong aria-hidden="true">43.3.</strong> Naming</a></li><li class="chapter-item expanded "><a href="static_methods/usage.html"><strong aria-hidden="true">43.4.</strong> Usage</a></li><li class="chapter-item expanded "><a href="static_methods/math.html"><strong aria-hidden="true">43.5.</strong> Math</a></li><li class="chapter-item expanded "><a href="static_methods/factories.html"><strong aria-hidden="true">43.6.</strong> Factories</a></li><li class="chapter-item expanded "><a href="static_methods/challenges.html"><strong aria-hidden="true">43.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Structures & Algorithms</li><li class="chapter-item expanded "><a href="growable_arrays.html"><strong aria-hidden="true">44.</strong> Growable Arrays</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="growable_arrays/concept.html"><strong aria-hidden="true">44.1.</strong> Concept</a></li><li class="chapter-item expanded "><a href="growable_arrays/simple_implementation.html"><strong aria-hidden="true">44.2.</strong> Simple Implementation</a></li><li class="chapter-item expanded "><a href="growable_arrays/usage.html"><strong aria-hidden="true">44.3.</strong> Usage</a></li><li class="chapter-item expanded "><a href="growable_arrays/performance_problems.html"><strong aria-hidden="true">44.4.</strong> Performance Problems</a></li><li class="chapter-item expanded "><a href="growable_arrays/performance_solutions.html"><strong aria-hidden="true">44.5.</strong> Performance Solutions</a></li><li class="chapter-item expanded "><a href="growable_arrays/optimized_implementation.html"><strong aria-hidden="true">44.6.</strong> Optimized Implementation</a></li><li class="chapter-item expanded "><a href="growable_arrays/challenges.html"><strong aria-hidden="true">44.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Interactive Programs III</li><li class="chapter-item expanded "><a href="command_line_arguments.html"><strong aria-hidden="true">45.</strong> Command Line Arguments</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="command_line_arguments/accessing_arguments.html"><strong aria-hidden="true">45.1.</strong> Accessing Arguments</a></li><li class="chapter-item expanded "><a href="command_line_arguments/conventions.html"><strong aria-hidden="true">45.2.</strong> Conventions</a></li><li class="chapter-item expanded "><a href="command_line_arguments/challenges.html"><strong aria-hidden="true">45.3.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Code Structure V</li><li class="chapter-item expanded "><a href="inner_classes.html"><strong aria-hidden="true">46.</strong> Inner Classes</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="inner_classes/type.html"><strong aria-hidden="true">46.1.</strong> Type</a></li><li class="chapter-item expanded "><a href="inner_classes/instances.html"><strong aria-hidden="true">46.2.</strong> Instances</a></li><li class="chapter-item expanded "><a href="inner_classes/new_operator.html"><strong aria-hidden="true">46.3.</strong> New Operator</a></li><li class="chapter-item expanded "><a href="inner_classes/scope.html"><strong aria-hidden="true">46.4.</strong> Scope</a></li><li class="chapter-item expanded "><a href="inner_classes/disambiguation.html"><strong aria-hidden="true">46.5.</strong> Disambiguation</a></li><li class="chapter-item expanded "><a href="inner_classes/the_anonymous_main_class.html"><strong aria-hidden="true">46.6.</strong> The anonymous main class</a></li><li class="chapter-item expanded "><a href="inner_classes/static_inner_classes.html"><strong aria-hidden="true">46.7.</strong> Static Inner Classes</a></li><li class="chapter-item expanded "><a href="inner_classes/private_inner_classes.html"><strong aria-hidden="true">46.8.</strong> Private Inner Classes</a></li><li class="chapter-item expanded "><a href="inner_classes/challenges.html"><strong aria-hidden="true">46.9.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="packages.html"><strong aria-hidden="true">47.</strong> Packages</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="packages/declaration.html"><strong aria-hidden="true">47.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="packages/visibility.html"><strong aria-hidden="true">47.2.</strong> Visibility</a></li><li class="chapter-item expanded "><a href="packages/public_classes.html"><strong aria-hidden="true">47.3.</strong> Public Classes</a></li><li class="chapter-item expanded "><a href="packages/fully_qualified_class_name.html"><strong aria-hidden="true">47.4.</strong> Fully Qualified Class Name</a></li><li class="chapter-item expanded "><a href="packages/import.html"><strong aria-hidden="true">47.5.</strong> Import</a></li><li class="chapter-item expanded "><a href="packages/package_imports.html"><strong aria-hidden="true">47.6.</strong> Package Imports</a></li><li class="chapter-item expanded "><a href="packages/the_default_package.html"><strong aria-hidden="true">47.7.</strong> The Default Package</a></li><li class="chapter-item expanded "><a href="packages/the_anonymous_main_class.html"><strong aria-hidden="true">47.8.</strong> The Anonymous Main Class</a></li><li class="chapter-item expanded "><a href="packages/public_methods.html"><strong aria-hidden="true">47.9.</strong> Public Methods</a></li><li class="chapter-item expanded "><a href="packages/package_private_methods.html"><strong aria-hidden="true">47.10.</strong> Package-Private Methods</a></li><li class="chapter-item expanded "><a href="packages/public_fields.html"><strong aria-hidden="true">47.11.</strong> Public Fields</a></li><li class="chapter-item expanded "><a href="packages/package_private_fields.html"><strong aria-hidden="true">47.12.</strong> Package-Private Fields</a></li><li class="chapter-item expanded "><a href="packages/the_default_constructor.html"><strong aria-hidden="true">47.13.</strong> The Default Constructor</a></li><li class="chapter-item expanded "><a href="packages/public_constructors.html"><strong aria-hidden="true">47.14.</strong> Public Constructors</a></li><li class="chapter-item expanded "><a href="packages/package_private_constructors.html"><strong aria-hidden="true">47.15.</strong> Package-Private Constructors</a></li><li class="chapter-item expanded "><a href="packages/subpackages.html"><strong aria-hidden="true">47.16.</strong> Subpackages</a></li><li class="chapter-item expanded "><a href="packages/reverse_domain_name_notation.html"><strong aria-hidden="true">47.17.</strong> Reverse Domain Name Notation</a></li><li class="chapter-item expanded "><a href="packages/challenges.html"><strong aria-hidden="true">47.18.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Types VI</li><li class="chapter-item expanded "><a href="records.html"><strong aria-hidden="true">48.</strong> Records</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="records/declaration.html"><strong aria-hidden="true">48.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="records/the_canonical_constructor.html"><strong aria-hidden="true">48.2.</strong> The Canonical Constructor</a></li><li class="chapter-item expanded "><a href="records/component_accessors.html"><strong aria-hidden="true">48.3.</strong> Component Accessors</a></li><li class="chapter-item expanded "><a href="records/component_accessor_visibility.html"><strong aria-hidden="true">48.4.</strong> Component Accessor Visibility</a></li><li class="chapter-item expanded "><a href="records/printing_a_record.html"><strong aria-hidden="true">48.5.</strong> Printing a Record</a></li><li class="chapter-item expanded "><a href="records/check_for_equality.html"><strong aria-hidden="true">48.6.</strong> Check for Equality</a></li><li class="chapter-item expanded "><a href="records/return_multiple_values.html"><strong aria-hidden="true">48.7.</strong> Return Multiple Values</a></li><li class="chapter-item expanded "><a href="records/shorthand.html"><strong aria-hidden="true">48.8.</strong> Shorthand</a></li><li class="chapter-item expanded "><a href="records/challenges.html"><strong aria-hidden="true">48.9.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="integers_ii.html"><strong aria-hidden="true">49.</strong> Integers II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="integers_ii/integer_from_a_string.html"><strong aria-hidden="true">49.1.</strong> Integer from a String</a></li><li class="chapter-item expanded "><a href="integers_ii/integer_to_a_string.html"><strong aria-hidden="true">49.2.</strong> Integer to a String</a></li><li class="chapter-item expanded "><a href="integers_ii/base_16_integer_literals.html"><strong aria-hidden="true">49.3.</strong> Base 16 Integer Literals</a></li><li class="chapter-item expanded "><a href="integers_ii/integer_from_a_base_16_string.html"><strong aria-hidden="true">49.4.</strong> Integer from a Base 16 String</a></li><li class="chapter-item expanded "><a href="integers_ii/integer_to_a_base_16_string.html"><strong aria-hidden="true">49.5.</strong> Integer to a Base 16 String</a></li><li class="chapter-item expanded "><a href="integers_ii/underscores_in_integer_literals.html"><strong aria-hidden="true">49.6.</strong> Underscores in Integer Literals</a></li><li class="chapter-item expanded "><a href="integers_ii/challenges.html"><strong aria-hidden="true">49.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Interactive Programs IV</li><li class="chapter-item expanded "><a href="files.html"><strong aria-hidden="true">50.</strong> Files</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="files/paths.html"><strong aria-hidden="true">50.1.</strong> Paths</a></li><li class="chapter-item expanded "><a href="files/ioexception.html"><strong aria-hidden="true">50.2.</strong> IOException</a></li><li class="chapter-item expanded "><a href="files/uncheckedioexception.html"><strong aria-hidden="true">50.3.</strong> UncheckedIOException</a></li><li class="chapter-item expanded "><a href="files/write_to_a_file.html"><strong aria-hidden="true">50.4.</strong> Write to a File</a></li><li class="chapter-item expanded "><a href="files/read_from_a_file.html"><strong aria-hidden="true">50.5.</strong> Read from a File</a></li><li class="chapter-item expanded "><a href="files/creating_a_folder.html"><strong aria-hidden="true">50.6.</strong> Create a Folder</a></li><li class="chapter-item expanded "><a href="files/challenges.html"><strong aria-hidden="true">50.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Projects</li><li class="chapter-item expanded "><a href="projects/data_visualization.html"><strong aria-hidden="true">51.</strong> Data Visualization</a></li><li class="chapter-item expanded affix "><li class="part-title">Code Structure VI</li><li class="chapter-item expanded "><a href="objects.html"><strong aria-hidden="true">52.</strong> Object</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="objects/subtypes.html"><strong aria-hidden="true">52.1.</strong> Subtypes</a></li><li class="chapter-item expanded "><a href="objects/instanceof.html"><strong aria-hidden="true">52.2.</strong> instanceof</a></li><li class="chapter-item expanded "><a href="objects/toString.html"><strong aria-hidden="true">52.3.</strong> toString</a></li><li class="chapter-item expanded "><a href="objects/override_toString.html"><strong aria-hidden="true">52.4.</strong> Override toString</a></li><li class="chapter-item expanded "><a href="objects/override.html"><strong aria-hidden="true">52.5.</strong> @Override</a></li><li class="chapter-item expanded "><a href="objects/equals_and_hashCode.html"><strong aria-hidden="true">52.6.</strong> equals and hashCode</a></li><li class="chapter-item expanded "><a href="objects/override_equals_and_hashCode.html"><strong aria-hidden="true">52.7.</strong> Override equals and hashCode</a></li><li class="chapter-item expanded "><a href="objects/challenges.html"><strong aria-hidden="true">52.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="generics.html"><strong aria-hidden="true">53.</strong> Generics</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="generics/type_variables.html"><strong aria-hidden="true">53.1.</strong> Type Variables</a></li><li class="chapter-item expanded "><a href="generics/naming.html"><strong aria-hidden="true">53.2.</strong> Naming</a></li><li class="chapter-item expanded "><a href="generics/instantiation.html"><strong aria-hidden="true">53.3.</strong> Instantiation</a></li><li class="chapter-item expanded "><a href="generics/inference.html"><strong aria-hidden="true">53.4.</strong> Inference</a></li><li class="chapter-item expanded "><a href="generics/soundness.html"><strong aria-hidden="true">53.5.</strong> Soundness</a></li><li class="chapter-item expanded "><a href="generics/raw_types.html"><strong aria-hidden="true">53.6.</strong> Raw Types</a></li><li class="chapter-item expanded "><a href="generics/challenges.html"><strong aria-hidden="true">53.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="interfaces.html"><strong aria-hidden="true">54.</strong> Interfaces</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="interfaces/interface_declaration.html"><strong aria-hidden="true">54.1.</strong> Interface Declaration</a></li><li class="chapter-item expanded "><a href="interfaces/implementation.html"><strong aria-hidden="true">54.2.</strong> Implementation</a></li><li class="chapter-item expanded "><a href="interfaces/override.html"><strong aria-hidden="true">54.3.</strong> @Override</a></li><li class="chapter-item expanded "><a href="interfaces/naming.html"><strong aria-hidden="true">54.4.</strong> Naming</a></li><li class="chapter-item expanded "><a href="interfaces/subtypes.html"><strong aria-hidden="true">54.5.</strong> Subtypes</a></li><li class="chapter-item expanded "><a href="interfaces/multiple_implementations.html"><strong aria-hidden="true">54.6.</strong> Multiple Implementations</a></li><li class="chapter-item expanded "><a href="interfaces/challenges.html"><strong aria-hidden="true">54.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Types VII</li><li class="chapter-item expanded "><a href="time.html"><strong aria-hidden="true">55.</strong> Time</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="time/instant.html"><strong aria-hidden="true">55.1.</strong> Instant</a></li><li class="chapter-item expanded "><a href="time/duration.html"><strong aria-hidden="true">55.2.</strong> Duration</a></li><li class="chapter-item expanded "><a href="time/local_date.html"><strong aria-hidden="true">55.3.</strong> LocalDate</a></li><li class="chapter-item expanded "><a href="time/local_time.html"><strong aria-hidden="true">55.4.</strong> LocalTime</a></li><li class="chapter-item expanded "><a href="time/local_date_time.html"><strong aria-hidden="true">55.5.</strong> LocalDateTime</a></li><li class="chapter-item expanded "><a href="time/time_zones.html"><strong aria-hidden="true">55.6.</strong> Time Zones</a></li><li class="chapter-item expanded "><a href="time/zoned_date_time.html"><strong aria-hidden="true">55.7.</strong> ZonedDateTime</a></li><li class="chapter-item expanded "><a href="time/offset_date_time.html"><strong aria-hidden="true">55.8.</strong> OffsetDateTime</a></li><li class="chapter-item expanded "><a href="time/date.html"><strong aria-hidden="true">55.9.</strong> Date</a></li><li class="chapter-item expanded "><a href="time/challenges.html"><strong aria-hidden="true">55.10.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="array_list.html"><strong aria-hidden="true">56.</strong> ArrayList</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="array_list/ubiquity.html"><strong aria-hidden="true">56.1.</strong> Ubiquity</a></li><li class="chapter-item expanded "><a href="array_list/add_an_item.html"><strong aria-hidden="true">56.2.</strong> Add an item</a></li><li class="chapter-item expanded "><a href="array_list/size.html"><strong aria-hidden="true">56.3.</strong> Size</a></li><li class="chapter-item expanded "><a href="array_list/get_an_item.html"><strong aria-hidden="true">56.4.</strong> Get an item</a></li><li class="chapter-item expanded "><a href="array_list/loop_over_items.html"><strong aria-hidden="true">56.5.</strong> Loop over items</a></li><li class="chapter-item expanded "><a href="array_list/set_an_item.html"><strong aria-hidden="true">56.6.</strong> Set an item</a></li><li class="chapter-item expanded "><a href="array_list/remove_an_item.html"><strong aria-hidden="true">56.7.</strong> Remove an item</a></li><li class="chapter-item expanded "><a href="array_list/challenges.html"><strong aria-hidden="true">56.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="hash_maps.html"><strong aria-hidden="true">57.</strong> HashMap</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="hash_maps/filing_cabinets.html"><strong aria-hidden="true">57.1.</strong> Filing Cabinets</a></li><li class="chapter-item expanded "><a href="hash_maps/keys_and_values.html"><strong aria-hidden="true">57.2.</strong> Keys and Values</a></li><li class="chapter-item expanded "><a href="hash_maps/put_items.html"><strong aria-hidden="true">57.3.</strong> Put Items</a></li><li class="chapter-item expanded "><a href="hash_maps/get_items.html"><strong aria-hidden="true">57.4.</strong> Get Items</a></li><li class="chapter-item expanded "><a href="hash_maps/hash_functions.html"><strong aria-hidden="true">57.5.</strong> Hash Functions</a></li><li class="chapter-item expanded "><a href="hash_maps/hash_collision.html"><strong aria-hidden="true">57.6.</strong> Hash Collision</a></li><li class="chapter-item expanded "><a href="hash_maps/hash_distribution.html"><strong aria-hidden="true">57.7.</strong> Hash Distribution</a></li><li class="chapter-item expanded "><a href="hash_maps/reference_based_identity.html"><strong aria-hidden="true">57.8.</strong> Reference Based Identity</a></li><li class="chapter-item expanded "><a href="hash_maps/value_based_identity.html"><strong aria-hidden="true">57.9.</strong> Value Based Identity</a></li><li class="chapter-item expanded "><a href="hash_maps/appropriate_keys.html"><strong aria-hidden="true">57.10.</strong> Appropriate Keys</a></li><li class="chapter-item expanded "><a href="hash_maps/ubiquity.html"><strong aria-hidden="true">57.11.</strong> Ubiquity</a></li><li class="chapter-item expanded "><a href="hash_maps/challenges.html"><strong aria-hidden="true">57.12.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Concepts II</li><li class="chapter-item expanded "><a href="hyrums_law.html"><strong aria-hidden="true">58.</strong> Hyrum's Law</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="hyrums_law/authority.html"><strong aria-hidden="true">58.1.</strong> Authority</a></li><li class="chapter-item expanded "><a href="hyrums_law/validity.html"><strong aria-hidden="true">58.2.</strong> Validity</a></li><li class="chapter-item expanded "><a href="hyrums_law/emergent_properties.html"><strong aria-hidden="true">58.3.</strong> Emergent Properties</a></li><li class="chapter-item expanded "><a href="hyrums_law/importance.html"><strong aria-hidden="true">58.4.</strong> Importance</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Control Flow V</li><li class="chapter-item expanded "><a href="switch_iii.html"><strong aria-hidden="true">59.</strong> Switch III</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="switch_iii/break.html"><strong aria-hidden="true">59.1.</strong> break</a></li><li class="chapter-item expanded "><a href="switch_iii/fallthrough.html"><strong aria-hidden="true">59.2.</strong> fallthrough</a></li><li class="chapter-item expanded "><a href="switch_iii/return.html"><strong aria-hidden="true">59.3.</strong> return</a></li><li class="chapter-item expanded "><a href="switch_iii/default.html"><strong aria-hidden="true">59.4.</strong> default</a></li><li class="chapter-item expanded "><a href="switch_iii/yield.html"><strong aria-hidden="true">59.5.</strong> yield</a></li><li class="chapter-item expanded "><a href="switch_iii/challenges.html"><strong aria-hidden="true">59.6.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="recursion.html"><strong aria-hidden="true">60.</strong> Recursion</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="recursion/disclaimer.html"><strong aria-hidden="true">60.1.</strong> Disclaimer</a></li><li class="chapter-item expanded "><a href="recursion/base_case.html"><strong aria-hidden="true">60.2.</strong> Base Case</a></li><li class="chapter-item expanded "><a href="recursion/comparison_to_delegation.html"><strong aria-hidden="true">60.3.</strong> Comparison to Delegation</a></li><li class="chapter-item expanded "><a href="recursion/comparison_to_loops.html"><strong aria-hidden="true">60.4.</strong> Comparison to Loops</a></li><li class="chapter-item expanded "><a href="recursion/counting_down.html"><strong aria-hidden="true">60.5.</strong> Counting Down</a></li><li class="chapter-item expanded "><a href="recursion/accumulators.html"><strong aria-hidden="true">60.6.</strong> Accumulators</a></li><li class="chapter-item expanded "><a href="recursion/recursing_over_strings.html"><strong aria-hidden="true">60.7.</strong> Recurse Over a String</a></li><li class="chapter-item expanded "><a href="recursion/recursing_over_arrays.html"><strong aria-hidden="true">60.8.</strong> Recurse Over an Array</a></li><li class="chapter-item expanded "><a href="recursion/challenges.html"><strong aria-hidden="true">60.9.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="loops_iii.html"><strong aria-hidden="true">61.</strong> Loops III</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="loops_iii/for_each_loops.html"><strong aria-hidden="true">61.1.</strong> For-each loops</a></li><li class="chapter-item expanded "><a href="loops_iii/arrays.html"><strong aria-hidden="true">61.2.</strong> Arrays</a></li><li class="chapter-item expanded "><a href="loops_iii/iterable_and_iterator.html"><strong aria-hidden="true">61.3.</strong> Iterable and Iterator</a></li><li class="chapter-item expanded "><a href="loops_iii/arraylist.html"><strong aria-hidden="true">61.4.</strong> ArrayList</a></li><li class="chapter-item expanded "><a href="loops_iii/string.html"><strong aria-hidden="true">61.5.</strong> String</a></li><li class="chapter-item expanded "><a href="loops_iii/concurrent_modifications.html"><strong aria-hidden="true">61.6.</strong> Concurrent Modifications</a></li><li class="chapter-item expanded "><a href="loops_iii/inferred_types.html"><strong aria-hidden="true">61.7.</strong> Inferred Types</a></li><li class="chapter-item expanded "><a href="loops_iii/challenges.html"><strong aria-hidden="true">61.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Concepts III</li><li class="chapter-item expanded "><a href="encapsulation.html"><strong aria-hidden="true">62.</strong> Encapsulation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="encapsulation/implementation_details.html"><strong aria-hidden="true">62.1.</strong> Implementation Details</a></li><li class="chapter-item expanded "><a href="encapsulation/implicit_interfaces.html"><strong aria-hidden="true">62.2.</strong> Implicit Interfaces</a></li><li class="chapter-item expanded "><a href="encapsulation/methods.html"><strong aria-hidden="true">62.3.</strong> Methods</a></li><li class="chapter-item expanded "><a href="encapsulation/classes.html"><strong aria-hidden="true">62.4.</strong> Classes</a></li><li class="chapter-item expanded "><a href="encapsulation/abstractions.html"><strong aria-hidden="true">62.5.</strong> Abstraction</a></li><li class="chapter-item expanded "><a href="encapsulation/coupling.html"><strong aria-hidden="true">62.6.</strong> Coupling</a></li><li class="chapter-item expanded "><a href="encapsulation/leaky_abstractions.html"><strong aria-hidden="true">62.7.</strong> Leaky Abstractions</a></li><li class="chapter-item expanded "><a href="encapsulation/information_hiding.html"><strong aria-hidden="true">62.8.</strong> Information Hiding</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Types VIII</li><li class="chapter-item expanded "><a href="collections.html"><strong aria-hidden="true">63.</strong> Collections</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="collections/list.html"><strong aria-hidden="true">63.1.</strong> List</a></li><li class="chapter-item expanded "><a href="collections/map.html"><strong aria-hidden="true">63.2.</strong> Map</a></li><li class="chapter-item expanded "><a href="collections/set.html"><strong aria-hidden="true">63.3.</strong> Set</a></li><li class="chapter-item expanded "><a href="collections/arrays.html"><strong aria-hidden="true">63.4.</strong> Arrays</a></li><li class="chapter-item expanded "><a href="collections/unsupported_operation_exception.html"><strong aria-hidden="true">63.5.</strong> UnsupportedOperationException</a></li><li class="chapter-item expanded "><a href="collections/factories.html"><strong aria-hidden="true">63.6.</strong> Factories</a></li><li class="chapter-item expanded "><a href="collections/specificity.html"><strong aria-hidden="true">63.7.</strong> Specificity</a></li><li class="chapter-item expanded "><a href="collections/challenges.html"><strong aria-hidden="true">63.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Metaprogramming</li><li class="chapter-item expanded "><a href="reflection.html"><strong aria-hidden="true">64.</strong> Reflection</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="reflection/class_objects.html"><strong aria-hidden="true">64.1.</strong> Class Objects</a></li><li class="chapter-item expanded "><a href="reflection/get_all_fields.html"><strong aria-hidden="true">64.2.</strong> Get all Fields</a></li><li class="chapter-item expanded "><a href="reflection/get_a_field.html"><strong aria-hidden="true">64.3.</strong> Get a Field</a></li><li class="chapter-item expanded "><a href="reflection/read_from_a_field.html"><strong aria-hidden="true">64.4.</strong> Read from a Field</a></li><li class="chapter-item expanded "><a href="reflection/write_to_a_field.html"><strong aria-hidden="true">64.5.</strong> Write to a Field</a></li><li class="chapter-item expanded "><a href="reflection/get_all_methods.html"><strong aria-hidden="true">64.6.</strong> Get all Methods</a></li><li class="chapter-item expanded "><a href="reflection/get_a_method.html"><strong aria-hidden="true">64.7.</strong> Get a Method</a></li><li class="chapter-item expanded "><a href="reflection/invoke_a_method.html"><strong aria-hidden="true">64.8.</strong> Invoke a Method</a></li><li class="chapter-item expanded "><a href="reflection/get_a_constructor.html"><strong aria-hidden="true">64.9.</strong> Get a Constructor</a></li><li class="chapter-item expanded "><a href="reflection/get_all_constructors.html"><strong aria-hidden="true">64.10.</strong> Get all Constructors</a></li><li class="chapter-item expanded "><a href="reflection/invoke_a_constructor.html"><strong aria-hidden="true">64.11.</strong> Invoke a Constructor</a></li><li class="chapter-item expanded "><a href="reflection/challenges.html"><strong aria-hidden="true">64.12.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="annotations.html"><strong aria-hidden="true">65.</strong> Annotations</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="annotations/declaration.html"><strong aria-hidden="true">65.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="annotations/usage.html"><strong aria-hidden="true">65.2.</strong> Usage</a></li><li class="chapter-item expanded "><a href="annotations/elements.html"><strong aria-hidden="true">65.3.</strong> Elements</a></li><li class="chapter-item expanded "><a href="annotations/usage_with_elements.html"><strong aria-hidden="true">65.4.</strong> Usage with Elements</a></li><li class="chapter-item expanded "><a href="annotations/defaults.html"><strong aria-hidden="true">65.5.</strong> Defaults</a></li><li class="chapter-item expanded "><a href="annotations/target.html"><strong aria-hidden="true">65.6.</strong> @Target</a></li><li class="chapter-item expanded "><a href="annotations/retention.html"><strong aria-hidden="true">65.7.</strong> @Retention</a></li><li class="chapter-item expanded "><a href="annotations/reflective_access.html"><strong aria-hidden="true">65.8.</strong> Reflective Access</a></li><li class="chapter-item expanded "><a href="annotations/override.html"><strong aria-hidden="true">65.9.</strong> @Override</a></li><li class="chapter-item expanded "><a href="annotations/challenges.html"><strong aria-hidden="true">65.10.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Code Structure VII</li><li class="chapter-item expanded "><a href="interfaces_ii.html"><strong aria-hidden="true">66.</strong> Interfaces II</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="interfaces_ii/default_methods.html"><strong aria-hidden="true">66.1.</strong> Default Methods</a></li><li class="chapter-item expanded "><a href="interfaces_ii/interface_extension.html"><strong aria-hidden="true">66.2.</strong> Interface Extension</a></li><li class="chapter-item expanded "><a href="interfaces_ii/static_methods.html"><strong aria-hidden="true">66.3.</strong> Static Methods</a></li><li class="chapter-item expanded "><a href="interfaces_ii/static_fields.html"><strong aria-hidden="true">66.4.</strong> Static Fields</a></li><li class="chapter-item expanded "><a href="interfaces_ii/challenges.html"><strong aria-hidden="true">66.5.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="class_extension.html"><strong aria-hidden="true">67.</strong> Class Extension</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="class_extension/extend_a_class.html"><strong aria-hidden="true">67.1.</strong> Extend a Class</a></li><li class="chapter-item expanded "><a href="class_extension/inheritance.html"><strong aria-hidden="true">67.2.</strong> Inheritance</a></li><li class="chapter-item expanded "><a href="class_extension/override.html"><strong aria-hidden="true">67.3.</strong> Override</a></li><li class="chapter-item expanded "><a href="class_extension/protected.html"><strong aria-hidden="true">67.4.</strong> Protected</a></li><li class="chapter-item expanded "><a href="class_extension/abstract_classes.html"><strong aria-hidden="true">67.5.</strong> Abstract Classes</a></li><li class="chapter-item expanded "><a href="class_extension/abstract_methods.html"><strong aria-hidden="true">67.6.</strong> Abstract Methods</a></li><li class="chapter-item expanded "><a href="class_extension/relation_to_interfaces.html"><strong aria-hidden="true">67.7.</strong> Relation to Interfaces</a></li><li class="chapter-item expanded "><a href="class_extension/relation_to_encapsulation.html"><strong aria-hidden="true">67.8.</strong> Relation to Encapsulation</a></li><li class="chapter-item expanded "><a href="class_extension/final_classes.html"><strong aria-hidden="true">67.9.</strong> Final Classes</a></li><li class="chapter-item expanded "><a href="class_extension/challenges.html"><strong aria-hidden="true">67.10.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Types IX</li><li class="chapter-item expanded "><a href="niche_numerics.html"><strong aria-hidden="true">68.</strong> Niche Numerics</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="niche_numerics/byte.html"><strong aria-hidden="true">68.1.</strong> byte</a></li><li class="chapter-item expanded "><a href="niche_numerics/short.html"><strong aria-hidden="true">68.2.</strong> short</a></li><li class="chapter-item expanded "><a href="niche_numerics/long.html"><strong aria-hidden="true">68.3.</strong> long</a></li><li class="chapter-item expanded "><a href="niche_numerics/unsigned_operations.html"><strong aria-hidden="true">68.4.</strong> Unsigned Operations</a></li><li class="chapter-item expanded "><a href="niche_numerics/float.html"><strong aria-hidden="true">68.5.</strong> float</a></li><li class="chapter-item expanded "><a href="niche_numerics/challenges.html"><strong aria-hidden="true">68.6.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Projects</li><li class="chapter-item expanded "><a href="projects/music_maker.html"><strong aria-hidden="true">69.</strong> Music Maker</a></li><li class="chapter-item expanded affix "><li class="part-title">Code Structure VIII</li><li class="chapter-item expanded "><a href="modules.html"><strong aria-hidden="true">70.</strong> Modules</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="modules/declaration.html"><strong aria-hidden="true">70.1.</strong> Declaration</a></li><li class="chapter-item expanded "><a href="modules/restrictions.html"><strong aria-hidden="true">70.2.</strong> Restrictions</a></li><li class="chapter-item expanded "><a href="modules/exports.html"><strong aria-hidden="true">70.3.</strong> Exports</a></li><li class="chapter-item expanded "><a href="modules/requires.html"><strong aria-hidden="true">70.4.</strong> Requires</a></li><li class="chapter-item expanded "><a href="modules/module_imports.html"><strong aria-hidden="true">70.5.</strong> Module Imports</a></li><li class="chapter-item expanded "><a href="modules/java.base.html"><strong aria-hidden="true">70.6.</strong> java.base</a></li><li class="chapter-item expanded "><a href="modules/the_unnamed_module.html"><strong aria-hidden="true">70.7.</strong> The Unnamed Module</a></li><li class="chapter-item expanded "><a href="modules/multi_module_directory_layout.html"><strong aria-hidden="true">70.8.</strong> Multi-Module Directory Layout</a></li><li class="chapter-item expanded "><a href="modules/purpose.html"><strong aria-hidden="true">70.9.</strong> Purpose</a></li><li class="chapter-item expanded "><a href="modules/challenges.html"><strong aria-hidden="true">70.10.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="lambdas.html"><strong aria-hidden="true">71.</strong> Lambdas</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="lambdas/functional_interfaces.html"><strong aria-hidden="true">71.1.</strong> Functional Interfaces</a></li><li class="chapter-item expanded "><a href="lambdas/functional_interface_annotation.html"><strong aria-hidden="true">71.2.</strong> @FunctionalInterface</a></li><li class="chapter-item expanded "><a href="lambdas/lambda_expressions.html"><strong aria-hidden="true">71.3.</strong> Lambda Expressions</a></li><li class="chapter-item expanded "><a href="lambdas/arguments.html"><strong aria-hidden="true">71.4.</strong> Arguments</a></li><li class="chapter-item expanded "><a href="lambdas/return.html"><strong aria-hidden="true">71.5.</strong> Return</a></li><li class="chapter-item expanded "><a href="lambdas/method_references.html"><strong aria-hidden="true">71.6.</strong> Method References</a></li><li class="chapter-item expanded "><a href="lambdas/constructor_references.html"><strong aria-hidden="true">71.7.</strong> Constructor References</a></li><li class="chapter-item expanded "><a href="lambdas/inference.html"><strong aria-hidden="true">71.8.</strong> Inference</a></li><li class="chapter-item expanded "><a href="lambdas/built_in_functional_interfaces.html"><strong aria-hidden="true">71.9.</strong> Built-In Functional Interfaces</a></li><li class="chapter-item expanded "><a href="lambdas/checked_exceptions.html"><strong aria-hidden="true">71.10.</strong> Checked Exceptions</a></li><li class="chapter-item expanded "><a href="lambdas/challenges.html"><strong aria-hidden="true">71.11.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Sharing Code</li><li class="chapter-item expanded "><a href="compilation.html"><strong aria-hidden="true">72.</strong> Compilation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="compilation/javac.html"><strong aria-hidden="true">72.1.</strong> javac</a></li><li class="chapter-item expanded "><a href="compilation/class_files.html"><strong aria-hidden="true">72.2.</strong> Class Files</a></li><li class="chapter-item expanded "><a href="compilation/modules.html"><strong aria-hidden="true">72.3.</strong> Modules</a></li><li class="chapter-item expanded "><a href="compilation/multiple_files.html"><strong aria-hidden="true">72.4.</strong> Compile Multiple Files</a></li><li class="chapter-item expanded "><a href="compilation/clean.html"><strong aria-hidden="true">72.5.</strong> Clean</a></li><li class="chapter-item expanded "><a href="compilation/g.html"><strong aria-hidden="true">72.6.</strong> -g</a></li><li class="chapter-item expanded "><a href="compilation/running_compiled_code.html"><strong aria-hidden="true">72.7.</strong> Running Compiled Code</a></li><li class="chapter-item expanded "><a href="compilation/challenges.html"><strong aria-hidden="true">72.8.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><a href="packaging.html"><strong aria-hidden="true">73.</strong> Packaging</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="packaging/jar.html"><strong aria-hidden="true">73.1.</strong> jar</a></li><li class="chapter-item expanded "><a href="packaging/jar_files.html"><strong aria-hidden="true">73.2.</strong> Jar Files</a></li><li class="chapter-item expanded "><a href="packaging/module_path.html"><strong aria-hidden="true">73.3.</strong> --module-path</a></li><li class="chapter-item expanded "><a href="packaging/main_class.html"><strong aria-hidden="true">73.4.</strong> --main-class</a></li><li class="chapter-item expanded "><a href="packaging/libraries.html"><strong aria-hidden="true">73.5.</strong> Libraries</a></li><li class="chapter-item expanded "><a href="packaging/challenges.html"><strong aria-hidden="true">73.6.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Tools</li><li class="chapter-item expanded "><a href="just.html"><strong aria-hidden="true">74.</strong> just</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="just/installation.html"><strong aria-hidden="true">74.1.</strong> Installation</a></li><li class="chapter-item expanded "><a href="just/justfile.html"><strong aria-hidden="true">74.2.</strong> Justfile</a></li><li class="chapter-item expanded "><a href="just/recipes.html"><strong aria-hidden="true">74.3.</strong> Recipes</a></li><li class="chapter-item expanded "><a href="just/dependencies.html"><strong aria-hidden="true">74.4.</strong> Dependencies</a></li><li class="chapter-item expanded "><a href="just/documentation_comments.html"><strong aria-hidden="true">74.5.</strong> Documentation Comments</a></li><li class="chapter-item expanded "><a href="just/further_reading.html"><strong aria-hidden="true">74.6.</strong> Further Reading</a></li><li class="chapter-item expanded "><a href="just/challenges.html"><strong aria-hidden="true">74.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Sharing Code II</li><li class="chapter-item expanded "><a href="documentation.html"><strong aria-hidden="true">75.</strong> Documentation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="documentation/documentation_comments.html"><strong aria-hidden="true">75.1.</strong> Documentation Comments</a></li><li class="chapter-item expanded "><a href="documentation/format.html"><strong aria-hidden="true">75.2.</strong> Format</a></li><li class="chapter-item expanded "><a href="documentation/javadoc.html"><strong aria-hidden="true">75.3.</strong> javadoc</a></li><li class="chapter-item expanded "><a href="documentation/challenges.html"><strong aria-hidden="true">75.4.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Data Types X</li><li class="chapter-item expanded "><a href="streams.html"><strong aria-hidden="true">76.</strong> Streams</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="streams/stream.html"><strong aria-hidden="true">76.1.</strong> stream</a></li><li class="chapter-item expanded "><a href="streams/map.html"><strong aria-hidden="true">76.2.</strong> map</a></li><li class="chapter-item expanded "><a href="streams/filter.html"><strong aria-hidden="true">76.3.</strong> filter</a></li><li class="chapter-item expanded "><a href="streams/terminal_operations.html"><strong aria-hidden="true">76.4.</strong> Terminal Operations</a></li><li class="chapter-item expanded "><a href="streams/collectors.html"><strong aria-hidden="true">76.5.</strong> Collectors</a></li><li class="chapter-item expanded "><a href="streams/purpose.html"><strong aria-hidden="true">76.6.</strong> Purpose</a></li><li class="chapter-item expanded "><a href="streams/challenges.html"><strong aria-hidden="true">76.7.</strong> Challenges</a></li></ol></li><li class="chapter-item expanded "><li class="part-title">Conclusion</li><li class="chapter-item expanded "><a href="conclusion/what_now.html"><strong aria-hidden="true">77.</strong> What Now?</a></li><li class="chapter-item expanded "><div><strong aria-hidden="true">78.</strong> 🚧 (More Chapters Planned) 🚧</div></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</button>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
</div>
<h1 class="menu-title">Modern Java</h1>
<div class="right-buttons">
<a target="_blank" href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
<a target="_blank" href="https://github.com/Together-Java/ModernJava" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa fa-github"></i>
</a>
<a target="_blank" href="https://github.com/Together-Java/ModernJava/edit/develop/src/array_list.md" title="Suggest an edit" aria-label="Suggest an edit">
<i id="git-edit-button" class="fa fa-edit"></i>
</a>
<a target="_blank" href="https://discord.gg/together-java-272761734820003841" title="Ask a question" aria-label="Ask a question">
<i id="ask-a-question-button" class="fa fa-question"></i>
</a>
</div>
</div>
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
<h1 id="arraylist"><a class="header" href="#arraylist">ArrayList</a></h1>
<img src="/array_list/header.png" height="200px"/>
<p>Java comes with a generic growable array. It is called
an <code>ArrayList</code>.</p>
<pre><code class="language-java">import java.util.ArrayList;
void main() {
ArrayList<String> names = new ArrayList<>();
names.add("John Wick");
IO.println(names);
}
</code></pre>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="time/challenges.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="array_list/ubiquity.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="time/challenges.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="array_list/ubiquity.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</div>
<script>
window.playground_copyable = true;
</script>
<script src="ace.js"></script>
<script src="editor.js"></script>
<script src="mode-rust.js"></script>
<script src="theme-dawn.js"></script>
<script src="theme-tomorrow_night.js"></script>
<script src="elasticlunr.min.js"></script>
<script src="mark.min.js"></script>
<script src="searcher.js"></script>
<script src="clipboard.min.js"></script>
<script src="highlight.js"></script>
<script src="book.js"></script>
<!-- Custom JS scripts -->
<script src="ferris.js"></script>
</body>
</html>