Java: Top 11 Collection API Tricks
Java’s Collection API is robust and offers a multitude of methods to manipulate data. Here are the top 11 tricks you can use to get the most out of the Collection API.
1. Creating Immutable Collections
Java provides convenient factory methods to create immutable collections. This is useful when you want to create a collection that should not be modified.
List<String> list = List.of("Java", "Python", "C++");
Set<String> set = Set.of("Java", "Python", "C++");
Map<String, Integer> map = Map.of("Java", 10, "Python", 20, "C++", 30);
Output:
list = [Java, Python, C++]
set = [Python, C++, Java]
map = {Python=20, C++=30, Java=10}
2. Using the copyOf
Method
The copyOf
method creates a new collection that is a copy of an existing collection.
List<String> original = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
List<String> copy = List.copyOf(original);
Output: copy = [Java, Python, C++]
3. Using the removeIf
Method
The removeIf
method removes all elements from a collection that satisfy a given predicate.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
languages.removeIf(lang -> lang.startsWith("C"));
Output: languages = [Java, Python]
4. Using the replaceAll
Method
The replaceAll
method replaces each element of a list with the result of applying a function to that element.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
languages.replaceAll(String::toUpperCase);
Output: languages = [JAVA, PYTHON, C++]
5. Using the sort
Method
The sort
method sorts a list according to the order induced by a Comparator
.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
languages.sort(Comparator.naturalOrder());
Output: languages = [C++, Java, Python]
6. Using the forEach
Method
The forEach
method performs an action for each element of a collection.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
languages.forEach(System.out::println);
Output:
Java
Python
C++
7. Using the spliterator
Method
The spliterator
method creates a Spliterator
over the elements in a collection.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
Spliterator<String> spliterator = languages.spliterator();
Output: spliterator = java.util.ArrayList$Itr@15db9742
8. Using the stream
and parallelStream
Methods
The stream
and parallelStream
methods return a sequential or parallel Stream
respectively with the collection as its source.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
Stream<String> stream = languages.stream();
Stream<String> parallelStream = languages.parallelStream();
Output:
stream = java.util.stream.ReferencePipeline$Head@6d06d69c
parallelStream = java.util.stream.ReferencePipeline$Head@7852e922
9. Using the toArray
Method
The toArray
method returns an array containing all elements in a collection.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
String[] array = languages.toArray(new String[0]);
Output: array = [Java, Python, C++]
10. Using the contains
Method
The contains
method returns true
if a collection contains a specified element.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
boolean containsJava = languages.contains("Java");
Output: containsJava = true
11. Using the isEmpty
Method
The isEmpty
method checks if a collection is empty or not.
List<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C++"));
boolean isEmpty = languages.isEmpty();
Output: isEmpty = false
These are just a few of the many powerful features available in the Collection API. #ni18blogs
Comments
Post a Comment