Senior
What are the basic classes and interfaces for working with threads in Java?
sobes.tech AI
Answer from AI
In Java, for working with streams in the java.util.stream package, there are key interfaces and classes:
- Stream<T> — the main interface for sequential processing of elements. It allows filtering, transforming, sorting, and aggregating operations.
- IntStream, LongStream, DoubleStream — specialized interfaces for working with primitive types to avoid auto-boxing.
- Collectors — a class with static methods for collecting stream elements into collections, strings, maps, etc.
- StreamSupport — a class for creating streams from sources that support
Spliterator.
Common methods for creating streams include:
Collection.stream()— to obtain a sequential stream from a collection.Collection.parallelStream()— for a parallel stream.
Example usage:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream();
List<String> upper = stream.map(String::toUpperCase).collect(Collectors.toList());
Also, for multithreading in Java, there is the Thread class and the Runnable interface, but these are about parallel execution, not specifically about the Stream API.