La colección es una estructura de datos en memoria, que contiene todos los valores que tiene actualmente la estructura de datos. Cada elemento de la Colección debe calcularse antes de agregarlo a la Colección. En una colección se pueden realizar operaciones como búsqueda, clasificación, inserción, manipulación y eliminación. Proporciona muchas interfaces como ( Set , List , Queue , Deque ) y Clases como ( ArrayList , Vector , LinkedList , PriorityQueue , HashSet ).
Por otro lado, IStream es una API que se presenta en Java 8 y se usa para procesar colecciones de objetos. Una secuencia es una secuencia de objetos que admite varios métodos que se pueden canalizar para producir el resultado deseado. La API Stream se utiliza para procesar colecciones de objetos.
Las características principales de la secuencia de Java son las siguientes:
- Un flujo no es una estructura de datos, sino que recibe información de las colecciones, arreglos o canales de E/S.
- Los flujos no cambian la estructura de datos original, solo proporcionan el resultado según los métodos canalizados.
- Cada operación intermedia se ejecuta con pereza y, como resultado, devuelve otra secuencia, por lo que se pueden canalizar varias operaciones intermedias. Las operaciones de terminal marcan el final de la secuencia y devuelven el resultado.
Ejemplo 1: Colecciones
Java
// Java Program to Illustrate Collection // Importing required classes import java.io.*; import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating an instance of list List<String> CompanyList = new ArrayList<>(); // Adding elements using add() method CompanyList.add("Google"); CompanyList.add("Apple"); CompanyList.add("Microsoft"); // Now creating a comparator Comparator<String> com = (String o1, String o2) -> o1.compareTo(o2); // Sorting the list Collections.sort(CompanyList, com); // Iterating using for each loop for (String name : CompanyList) { // Printing the elements System.out.println(name); } } }
Apple Google Microsoft
Ejemplo: flujos
Java
// Java Program to Demonstrate streams // Importing required classes import java.io.*; import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating an empty Arraylist List<String> CompanyList = new ArrayList<>(); // Adding elements to above ArrayList CompanyList.add("Google"); CompanyList.add("Apple"); CompanyList.add("Microsoft"); // Sorting the list // using sorted() method and // printing using for-each loop CompanyList.stream().sorted().forEach( System.out::println); } }
Apple Google Microsoft
Vamos a tabular la diferencia entre ellos, que es la siguiente:
FLUJOS |
COLECCIONES |
---|---|
No almacena datos, opera en la estructura de datos de origen, es decir, la recopilación. | Almacena/mantiene todos los datos que la estructura de datos tiene actualmente en una estructura de datos particular como Conjunto, Lista o Mapa, |
Utilizan interfaces funcionales como lambda, lo que lo convierte en una buena opción para el lenguaje de programación. | No utilizan interfaces funcionales. |
Java Streams son consumibles, es decir; para atravesar la corriente, debe crearse cada vez. | No son consumibles, es decir; puede ser transitable varias veces sin crearlo de nuevo. |
Los flujos de Java admiten el procesamiento secuencial y paralelo. | Es compatible con el procesamiento paralelo y el procesamiento paralelo puede ser muy útil para lograr un alto rendimiento. |
Todas las interfaces y clases de la API de flujo de Java están en el paquete j ava.util.stream . | Las clases específicas para tipos primitivos como IntStream , LongStream y DoubleStream se utilizan en las colecciones, ya que los tipos de datos primitivos como int, long en las colecciones que utilizan el encuadre automático y estas operaciones pueden llevar mucho tiempo. |
Los flujos no se pueden modificar, es decir, no se pueden agregar o quitar elementos de los flujos. | Estos son modificables, es decir, uno puede agregar o eliminar fácilmente elementos de las colecciones. |
Los flujos se iteran internamente con solo mencionar las operaciones. | Las colecciones se iteran externamente mediante bucles. |
Publicación traducida automáticamente
Artículo escrito por goelshubhangi3118 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA