3838# Data Types I
3939
4040- [ Booleans] ( ./boolean.md )
41+ - [ Not] ( ./boolean/not.md )
4142 - [ And] ( ./boolean/and.md )
4243 - [ Or] ( ./boolean/or.md )
43- - [ Not] ( ./boolean/not.md )
4444 - [ Operator Precedence] ( ./boolean/operator_precedence.md )
4545 - [ Challenges] ( ./boolean/challenges.md )
4646- [ Integers] ( ./integers.md )
9595# Control Flow I
9696
9797- [ Branching Paths] ( ./branching_paths.md )
98-
9998 - [ If] ( ./branching_logic/if.md )
10099 - [ Nested Ifs] ( ./branching_logic/nested_ifs.md )
101100 - [ Else] ( ./branching_logic/else.md )
136135 - [ Printing the Contents of an Array] ( ./arrays/printing_the_contents_of_an_array.md )
137136 - [ Empty Array] ( ./arrays/empty_array.md )
138137 - [ Difference between Initializer and Literal] ( ./arrays/difference_between_initializer_and_literal.md )
138+ - [ Initialization with new] ( ./arrays/initialization_with_new.md )
139139 - [ Challenges] ( ./arrays/challenges.md )
140140
141141# Control Flow II
190190 - [ Return in void methods] ( ./return_values/return_in_void_methods.md )
191191 - [ Conversion] ( ./return_values/conversion.md )
192192 - [ Unreachable Statements] ( ./return_values/unreachable_statements.md )
193+ - [ Challenges] ( ./return_values/challenges.md )
193194
194195# Data Types III
195196
198199 - [ Null as Unknown] ( ./null/null_as_unknown.md )
199200 - [ Checking for null] ( ./null/checking_for_null.md )
200201 - [ NullPointerException] ( ./null/null_pointer_exception.md )
202+ - [ Challenges] ( ./null/challenges.md )
201203- [ Boxed Primitives] ( ./boxed_primitives.md )
202204 - [ Integer] ( ./boxed_primitives/integer.md )
203205 - [ Double] ( ./boxed_primitives/double.md )
211213 - [ Initializion with Size] ( ./arrays_ii/initialization_with_size.md )
212214 - [ Default Values] ( ./arrays_ii/default_values.md )
213215 - [ Populate Arrays] ( ./arrays_ii/populate_arrays.md )
216+ - [ Challenges] ( ./arrays_ii/challenges.md )
214217
215218# Code Structure II
216219
225228 - [ Field Default Values] ( ./classes/field_default_values.md )
226229 - [ Aliasing] ( ./classes/aliasing.md )
227230 - [ Return Multiple Values] ( ./classes/return_multiple_values.md )
231+ - [ Challenges] ( ./classes/challenges.md )
228232
229233- [ Instance Methods] ( ./instance_methods.md )
230234 - [ Invocation] ( ./instance_methods/invocation.md )
236240 - [ this] ( ./instance_methods/this.md )
237241 - [ Disambiguation] ( ./instance_methods/disambiguation.md )
238242 - [ Clarity] ( ./instance_methods/clarity.md )
243+ - [ Challenges] ( ./instance_methods/challenges.md )
239244
240245# Data Types IV
241246
246251 - [ Usage] ( ./enums/usage.md )
247252 - [ Equality] ( ./enums/equality.md )
248253 - [ Comparison to boolean] ( ./enums/comparison_to_boolean.md )
254+ - [ Challenges] ( ./enums/challenges.md )
249255- [ Strings II] ( ./strings_ii.md )
250256 - [ lowercase] ( ./strings_ii/lowercase.md )
251257 - [ UPPERCASE] ( ./strings_ii/UPPERCASE.md )
252258 - [ Equality ignoring case] ( ./strings_ii/equality_ignoring_case.md )
253259 - [ Check if empty] ( ./strings_ii/check_if_empty.md )
254260 - [ Check if blank] ( ./strings_ii/check_if_blank.md )
255261 - [ Strip extra whitespace] ( ./strings_ii/strip_extra_whitespace.md )
262+ - [ Challenges] ( ./strings_ii/challenges.md )
256263
257264# Control Flow III
258265
261268 - [ Messages] ( ./exceptions/messages.md )
262269 - [ Stack Traces] ( ./exceptions/stack_traces.md )
263270 - [ try/catch] ( ./exceptions/try_catch.md )
271+ - [ Challenges] ( ./exceptions/challenges.md )
264272- [ Switch] ( ./switch.md )
265273 - [ Case and Default] ( ./switch/case_and_default.md )
266274 - [ Strings] ( ./switch/strings.md )
270278 - [ Exhaustiveness] ( ./switch/exhaustiveness.md )
271279 - [ Combining Cases] ( ./switch/combining_cases.md )
272280 - [ null] ( ./switch/null.md )
281+ - [ Challenges] ( ./switch/challenges.md )
273282
274283# Code Structure III
275284
281290 - [ Invariants] ( ./constructors/invariants.md )
282291 - [ Overloads] ( ./constructors/overloads.md )
283292 - [ Delegation] ( ./constructors/delegation.md )
293+ - [ Challenges] ( ./constructors/challenges.md )
284294- [ Global Fields] ( ./global_fields.md )
285295 - [ Default Values] ( ./global_fields/default_values.md )
286296 - [ Final Fields] ( ./global_fields/final_fields.md )
287297 - [ Field Access] ( ./global_fields/field_access.md )
288298 - [ Inferred Types] ( ./global_fields/inferred_types.md )
299+ - [ Challenges] ( ./global_fields/challenges.md )
289300
290301# Concepts
291302
334345 - [ Getting Used to it] ( ./the_terminal/getting_used_to_it.md )
335346
336347
337- # Control Flow III
348+ # Control Flow IV
338349
339350- [ Exceptions II] ( ./exceptions_ii.md )
340351 - [ Checked Exceptions] ( ./exceptions_ii/checked_exceptions.md )
447458 - [ Integer to a Base 16 String] ( ./integers_ii/integer_to_a_base_16_string.md )
448459 - [ Underscores in Integer Literals] ( ./integers_ii/underscores_in_integer_literals.md )
449460
450- - [ 🚧 Construction Zone 🚧] ( )
451461
452462# Interactive Programs III
453463
458468 - [ Write to a File] ( ./files/write_to_a_file.md )
459469 - [ Read from a File] ( ./files/read_from_a_file.md )
460470 - [ Create a Folder] ( ./files/creating_a_folder.md )
461- - [ Delete a Folder ] ( ./files/deleting_a_folder .md )
462- - [ Delete a File ] ( ./files/deleting_a_file.md )
471+ - [ Challenges ] ( ./files/challenges .md )
472+
463473
474+
475+ <!--
464476# Data Structures & Algorithms II
465477
466478- [Hash Maps](./hash_maps.md)
473485 - [Growable Buckets](./hash_maps/growable_buckets.md)
474486 - [Keys and Values](./hash_maps/keys_and_values.md)
475487 - [Put Items](./hash_maps/put_items.md)
476- - [ Get Items] ( ./hash_maps/get_items.md )
488+ - [Get Items](./hash_maps/get_items.md)-->
477489
478490
479491# Code Structure IV
486498 - [ @Override ] ( ./objects/override.md )
487499 - [ equals and hashCode] ( ./objects/equals_and_hashCode.md )
488500 - [ Override equals and hashCode] ( ./objects/override_equals_and_hashCode.md )
489- - [ Variance and Casting] ( ./objects/variance_and_casting.md )
490- - [ Subclasses] ( ./objects/subclasses.md )
501+ <!-- - [Variance and Casting](./objects/variance_and_casting.md)
502+ - [Subclasses](./objects/subclasses.md)-->
503+
491504- [ Generics] ( ./generics.md )
505+ - [ Type Variables] ( ./generics/type_variables.md )
506+ - [ Naming] ( ./generics/naming.md )
507+ - [ Instantiation] ( ./generics/instantiation.md )
508+ - [ Inference] ( ./generics/inference.md )
509+ - [ Soundness] ( ./generics/soundness.md )
510+ - [ Raw Types] ( ./generics/raw_types.md )
492511- [ Interfaces] ( ./interfaces.md )
512+ - [ Interface Declaration] ( ./interfaces/interface_declaration.md )
513+ - [ Implementation] ( ./interfaces/implementation.md )
514+ - [ @Override ] ( ./interfaces/override.md )
515+ - [ Naming] ( ./interfaces/naming.md )
516+ - [ Subtypes] ( ./interfaces/subtypes.md )
517+ - [ Multiple Implementations] ( ./interfaces/multiple_implementations.md )
493518
494519# Data Types V
495520
@@ -501,6 +526,7 @@ Make them do one. -->
501526 - [ LocalDate] ( ./time/local_date.md )
502527 - [ LocalTime] ( ./time/local_time.md )
503528 - [ LocalDateTime] ( ./time/local_date_time.md )
529+ - [ Time Zones] ( ./time/time_zones.md )
504530 - [ ZonedDateTime] ( ./time/zoned_date_time.md )
505531 - [ OffsetDateTime] ( ./time/offset_date_time.md )
506532- [ ArrayList] ( ./array_list.md )
@@ -511,16 +537,32 @@ Make them do one. -->
511537 - [ Loop over items] ( ./array_list/loop_over_items.md )
512538 - [ Set an item] ( ./array_list/set_an_item.md )
513539 - [ Remove an item] ( ./array_list/remove_an_item.md )
514- - [ HashMap] ( ./hash_map.md )
540+ <!-- - [HashMap](./hash_map.md)
515541- [Multi-Dimensional Arrays](./multi_dimensional_arrays.md)
516-
517- # Control Flow IV
542+ - [Iterable and Iterator](./iterable_and_iterator.md)
543+ # Concepts II
544+ - [Hyrum's Law](./hyrums_law.md)
545+ - [Authority](./hyrums_law/authority.md)
546+ - [Validity](./hyrums_law/validity.md)
547+ - [Emergent Properties](./hyrums_law/emergent_properties.md)
548+ - [Importance](./hyrums_law/importance.md)
549+ - [Encapsulation](./encapsulation.md)
550+ - [Implementation Details](./encapsulation/implementation_details.md)
551+ - [Methods](./encapsulation/methods.md)
552+ - [Classes]()(./encapsulation/classes.md)
553+ - [Implicit Interfaces](./encapsulation/implicit_interfaces.md)
554+ - [Abstractions](./encapsulation/abstractions.md)
555+ - [Leaky Abstractions](./encapsulation/leaky_abstractions.md)
556+ - [Information Hiding](./encapsulation/information_hiding.md)
557+
558+ # Control Flow V
518559- [Loops III](./loops_iii.md)
519- - [ For-each loops] ( )
560+ - [For-each loops](./loops_iii/for_each_loops.md )
520561 - [Arrays]()
521562 - [Iterable]()
522563 - [ArrayList]()
523- - [ Reasons to go back] ( ) <!-- -->
564+ - [Concurrent Modifications](./loops_iii/concurrent_modifications.md)
565+ - [Reasons to go back]() <!--
524566- [Switch III](./switch_iii.md)
525567 - [Fallthrough](./switch_iii/fallthrough.md)
526568 - [break](./switch_iii/break.md)
@@ -532,17 +574,17 @@ Make them do one. -->
532574 - [Base Case](./recursion/base_case.md)
533575 - [Comparison to Delegation](./recursion/comparison_to_delegation.md)
534576 - [Comparison to Loops](./recursion/comparison_to_loops.md)
577+ - [Counting Down](./recursion/counting_down.md)
578+ - [Accumulators](./recursion/accumulators.md)
579+ - [Recurse Over a String](./recursion/recursing_over_strings.md)
580+ - [Recurse Over an Array](./recursion/recursing_over_arrays.md)
535581
536582# Code Structure V
583+ - [Interface Extension](./interface_extension.md)
537584- [Class Extension](./class_extension.md)
538585- [Abstract Classes](./abstract_classes.md)
539586
540- # Concepts II
541587
542- - [ Encapsulation] ( ./encapsulation.md )
543- - [ Methods] ( )
544- - [ Classes] ( )
545- - [ Information Hiding] ( )
546588
547589# Building
548590
@@ -551,18 +593,70 @@ Make them do one. -->
551593 - [Compile a List of Files]()
552594 - [Specify Where to Find Sources]()
553595 - [Enable Debug Info]()
596+ - [Package Java Code]()
597+ - [Consume External Libraries]()
554598
555599# Data Types VI
600+
556601- [StringBuilder]()
557- - [ Pattern] ( )
602+ - [Why]()
603+ - [Regular Expressions]()
604+ - [Pattern]()
605+
606+ # Communication
607+ <!-- Should cover InputStream and OutputStream - maybe in Files part deux?
608+ - [TCP over IP](tcp_over_ip.md)
609+ - [Sockets](./tcp_over_ip/sockets.md)
610+ - [Low Level versus High Level](./tcp_over_ip/low_level_versus_high_level.md)
611+ - [Data Formats]()
612+
613+ # Metaprogramming
614+
615+ - [Reflection](./reflection.md)
616+ - [Class Objects](./reflection/class_objects.md)
617+ - [Get all Fields](./reflection/get_all_fields.md)
618+ - [Get a Field]()
619+ - [Set a Field]()
620+ - [Get a Method]()
621+ - [Call a Method]()
622+ - [Get a Constructor]()
558623
624+ - [Annotations]()
625+
626+ # Concepts III
627+
628+ - [Acronyms](./acronyms.md)
629+ - [Niches](./acronyms/niches.md)
630+ - [Usage Contexts](./acronyms/usage_contexts.md)
631+ - [Ambiguity](./acronyms/ambiguity.md)
632+ - [Familiarity](./acronyms/familiarity.md)
633+ - [Elaboration](./acronyms/elaboration.md)
634+
635+ # Code Structure VI
636+
637+ - [Documentation Comments]()
638+ - [Lambdas]()
639+ - [Unit Testing]()
640+
641+ # Concurrency
642+ - [Threads]()
643+
644+
645+ # Control Flow V
646+ - [Pattern Matching]()
647+ - [Primitive Patterns]()
648+ - [Record Patterns]()
649+ -->
559650<!--
560651
561652
562653
654+ # Concepts
655+
563656
564657# Concepts
565658
659+
566660- [The Idiot Game](./the_idiot_game.md)
567661
568662# Data Types V
@@ -588,11 +682,6 @@ Make them do one. -->
588682- [Paths]()
589683- [Iterator and Iterable]()
590684- [Exceptions II]()
591- - [Lists]()
592- - [ArrayList]()
593- - [Add an item]()
594- - [Get an item]()
595- - [Set an item]()
596685
597686# Control Flow IV
598687
@@ -610,22 +699,13 @@ Make them do one. -->
610699- [Sets]()
611700 - [HashSet]()
612701
613- # Metaprogramming
614-
615- - [Reflection]()
616- - [Annotations]() -->
617-
618-
619702<!--
620703
621704
622705
623706## Data Types IV
624707
625708
626-
627- - [Documentation]()
628- - [Documentation Comments]()
629709- [Testing]()
630710
631711
@@ -794,3 +874,7 @@ multi dimensional arrays
794874
795875System.console() over Scanner?
796876-->
877+
878+
879+
880+ - [ 🚧 (More Chapters Planned) 🚧] ( )
0 commit comments