Copyright;The Developer's Notebook Series; Notebooks Are.; Notebooks Aren't.; Organization;Preface; Organization; How This Book Was Written; About the Examples; Conventions Used in This Book; How to Contact Us; Acknowledgments from Brett; Acknowledgments from David;Chapter 1: What's New?; 1.1 Working with Arrays; 1.2 Using Queues; 1.3 Ordering Queues Using Comparators; 1.4 Overriding Return Types; 1.5 Taking Advantage of Better Unicode; 1.
6 Adding StringBuilder to the Mix;Chapter 2: Generics; 2.1 Using Type-Safe Lists; 2.2 Using Type-Safe Maps; 2.3 Iterating Over Parameterized Types; 2.4 Accepting Parameterized Types as Arguments; 2.5 Returning Parameterized Types; 2.6 Using Parameterized Types as Type Parameters; 2.7 Checking for Lint; 2.
8 Generics and Type Conversions; 2.9 Using Type Wildcards; 2.10 Writing Generic Types; 2.11 Restricting Type Parameters;Chapter 3: Enumerated Types; 3.1 Creating an Enum; 3.2 Declaring Enums Inline; 3.3 Iterating Over Enums; 3.4 Switching on Enums; 3.
5 Maps of Enums; 3.6 Sets of Enums; 3.7 Adding Methods to an Enum; 3.8 Implementing Interfaces with Enums; 3.9 Value-Specific Class Bodies; 3.10 Manually Defining an Enum; 3.11 Extending an Enum;Chapter 4: Autoboxing and Unboxing; 4.1 Converting Primitives to Wrapper Types; 4.
2 Converting Wrapper Types to Primitives; 4.3 Incrementing and Decrementing Wrapper Types; 4.4 Boolean Versus boolean; 4.5 Conditionals and Unboxing; 4.6 Control Statements and Unboxing; 4.7 Method Overload Resolution;Chapter 5: varargs; 5.1 Creating a Variable-Length Argument List; 5.2 Iterating Over Variable-Length Argument Lists; 5.
3 Allowing Zero-Length Argument Lists; 5.4 Specify Object Arguments Over Primitives; 5.5 Avoiding Automatic Array Conversion;Chapter 6: Annotations; 6.1 Using Standard Annotation Types; 6.2 Annotating an Overriding Method; 6.3 Annotating a Deprecated Method; 6.4 Suppressing Warnings; 6.5 Creating Custom Annotation Types; 6.
6 Annotating Annotations; 6.7 Defining an Annotation Type's Target; 6.8 Setting the Retention of an Annotation Type; 6.9 Documenting Annotation Types; 6.10 Setting Up Inheritance in Annotations; 6.11 Reflecting on Annotations;Chapter 7: The for/in Statement; 7.1 Ditching Iterators; 7.2 Iterating over Arrays; 7.
3 Iterating over Collections; 7.4 Avoiding Unnecessary Typecasts; 7.5 Making Your Classes Work with for/in; 7.6 Determining List Position and Variable Value; 7.7 Removing List Items in a for/in Loop;Chapter 8: Static Imports; 8.1 Importing Static Members; 8.2 Using Wildcards in Static Imports; 8.3 Importing Enumerated Type Values; 8.
4 Importing Multiple Members with the Same Name; 8.5 Shadowing Static Imports;Chapter 9: Formatting; 9.1 Creating a Formatter; 9.2 Writing Formatted Output; 9.3 Using the format( ) Convenience Method; 9.4 Using the printf( ) Convenience Method;Chapter 10: Threading; 10.1 Handling Uncaught Exceptions in Threads; 10.2 Using Thread-Safe Collections; 10.
3 Using Blocking Queues; 10.4 Specifying Timeouts for Blocking; 10.5 Separating Thread Logic from Execution Logic; 10.6 Using Executor as a Service; 10.7 Using Callable Objects; 10.8 Executing Tasks Without an ExecutorService; 10.9 Scheduling Tasks; 10.10 Advanced Synchronizing; 10.
11 Using Atomic Types; 10.12 Locking Versus Synchronization;Colophon;.