Java Tutorials - Herong's Tutorial Examples
∟Generic Methods and Type Inference
∟Generic Methods in java.util.Collections Class
This section provides my understandings of some generic methods defined in the java.util.Collections class.
From previous sections, we learned how to read generic method definitions.
Now let's look at some generic methods defined in the java.util.Collections class
and see if we understand their definitions.
- <T> List<T> singletonList(T o) - Creates a List of T with an object of T.
Parameterized type is used as the retunr type in this example.
- <T> List<T> nCopies(int n, T o) - Creates a List of T with an object of T repeating it n times.
- <T> Enumeration<T> enumeration(Collection<T> c) - Returns an Enumeration of T from the given Collection of T,
Parameterized type is used as the method parameter this example.
- <T> ArrayList<T> - list(Enumeration<T> e) - Converts an Enumeration of T to an ArrayList of T.
- <T> boolean replaceAll(List<T> list, T oldVal, T newVal) - Finds and replaces an old object with a new object of T
in a List of type T.
- <T> void fill(List<? super T> list, T obj) - Fills a List of any supertype of T with an object of T.
Wildcard parameterized type is used in this example.
- <T> void copy(List<? super T> dest, List<? extends T> src) - Copies a List of any subtype of T to a List of supertype of T.
- <T> List<T> emptyList() - Returns an empty List of T.
- <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) - Searches the "key" of type T
in a List of any subtype of Comparable<? super T> and returns the index of "key".
Nested wildcard parameterized type is used in this example.
- <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) -
Returns the maximum element of the given collection, according to the natural ordering of its elements.
- <T extends Comparable<? super T>> void sort(List<T> list) -
Sorts the specified list into ascending order, according to the natural ordering of its elements.
See next section for tutorial examples on how to use those generic methods.
Last update: 2014.
Table of Contents
About This Book
Installing JDK 1.8 on Windows
Execution Process, Entry Point, Input and Output
Primitive Data Types and Literals
Bits, Bytes, Bitwise and Shift Operations
Managing Bit Strings in Byte Arrays
Reference Data Types and Variables
StringBuffer - The String Buffer Class
System Properties and Runtime Object Methods
Generic Classes and Parameterized Types
►Generic Methods and Type Inference
What Is a Generic Method?
Comparing Generic Method with Non-Generic Method
Non-Generic Method Example - maxNonGeneric()
Generic Method Example - maxGeneric()
►Generic Methods in java.util.Collections Class
Testing Generic Methods in Collections Class
What Is Type Argument Inference?
Type Argument Inference by Parameter List
Type Argument Inference by Return Value
Generic Methods using Parameterized Types
Parameterized Type as Generic Method Return Type
Lambda Expressions and Method References
Execution Threads and Multi-Threading Java Programs
ThreadGroup Class and "system" ThreadGroup Tree
Synchronization Technique and Synchronized Code Blocks
Deadlock Condition Example Programs
Garbage Collection and the gc() Method
Outdated Tutorials
References
PDF Printing Version