EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
PF Preguntas - Foro

Cómo eliminar condicionalmente elementos de una lista en Java 8

Programación Java  
 
Cómo eliminar condicionalmente elementos de una lista en Java 8

Con la versión 8 de Java, se ha introducido un nuevo método, disponible para los tipos Collection. Este método es removeif(), el cual acepta como parámetro un Predicado (Predicate) que define la condición en la que deben eliminarse los elementos de la colección.

Como resultado, devuelve un booleano que devuelve TRUE en caso de que se haya eliminado el elemento, o FALSE en caso contrario.

Supongamos que tenemos una colección de tipo pila (Stack) de cadenas (String) y que queremos eliminar aquellas cadenas que cumplen cierta condición:

Este código creará una colección de tipo pila de cadenas y eliminará aquellos elementos cuyas cadenas contengan la subcadena ‘ue‘. En este caso, eliminará los elementos ‘Prueba‘ y ‘nuevo‘.

Es importante remarcar que no todas las colecciones soportan la eliminación de elementos. En caso de no soportarla, se arrojará una excepción del tipo UnsupportedOperationException al intentar la eliminación del elemento en cuestión. Una de estas colecciones es, por ejemplo, ArrayList:

En esta ocasión, se lanzará una excepción debido a que el método Arrays.asList() devuelve un ArrayList de tipo java.utils.Arrays.ArrayList, el cual es de solo lectura y de tamaño fijo, distinto al que normalmente se usa de tipo java.util.ArrayList, el cual sí es modificable.

 

Déjanos un comentario o entra al  Foro
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page
Etiquetas: ,