Requisito previo: ArrayList en Java
Dada una ArrayList, la tarea es eliminar elementos repetidos de la ArrayList en Java.
Ejemplos:
Input: ArrayList = [1, 2, 2, 3, 4, 4, 4] Output: [1, 2, 3, 4] Input: ArrayList = [12, 23, 23, 34, 45, 45, 45, 45, 57, 67, 89] Output: [12, 23, 34, 45, 57, 67, 89]
A continuación se muestran los diversos métodos para eliminar elementos repetidos de una ArrayList en Java:
- Uso de un conjunto: dado que el conjunto es una colección que no incluye ningún elemento duplicado. Por lo tanto, la solución se puede lograr con la ayuda de un Conjunto.
Acercarse:
- Obtenga ArrayList con elementos repetidos.
- Convierta ArrayList en Set.
- Ahora convierta el Conjunto de nuevo a ArrayList. Esto eliminará todos los elementos repetidos.
A continuación se muestra la implementación del enfoque anterior:
// Java code to illustrate remove duolicate
// of ArrayList using hashSet<> method
import
java.util.*;
public
class
GFG {
public
static
void
main(String args[])
{
// create a ArrayList String type
ArrayList<String>
gfg =
new
ArrayList<String>();
// Initialize an ArrayList
gfg.add(
"Geeks"
);
gfg.add(
"for"
);
gfg.add(
"Geeks"
);
// print ArrayList
System.out.println(
"Original ArrayList : "
+ gfg);
// -----Using LinkedHashSet-----
System.out.println(
"\nUsing LinkedHashSet:\n"
);
// create a set and copy all value of list
Set<String> set =
new
LinkedHashSet<>(gfg);
// create a list and copy all value of set
List<String> gfg1 =
new
ArrayList<>(set);
// print ArrayList
System.out.println(
"Modified ArrayList : "
+ gfg1);
// -----Using HashSet-----
System.out.println(
"\nUsing HashSet:\n"
);
// create a set and copy all value of list
Set<String> set1 =
new
HashSet<>(gfg);
// create a list and copy all value of set
List<String> gfg2 =
new
ArrayList<>(set);
// print ArrayList
System.out.println(
"Modified ArrayList : "
+ gfg2);
}
}
Producción:Original ArrayList : [Geeks, for, Geeks] Using LinkedHashSet: Modified ArrayList : [Geeks, for] Using HashSet: Modified ArrayList : [Geeks, for]
- Usando Java 8 Lambdas:
Acercarse:
- Obtenga ArrayList con elementos repetidos.
- Convierta ArrayList en Stream usando el método stream().
- Establezca la condición del filtro para que sea distinta usando el método distinto().
- Recopile los valores filtrados como Lista usando el método collect(). Esta lista será con elementos repetidos eliminados
A continuación se muestra la implementación del enfoque anterior:
Ejemplo:
// Java code to illustrate remove duolicate
// of ArrayList using hashSet<> method
import
java.util.*;
import
java.util.stream.Collectors;
public
class
GFG {
public
static
void
main(String args[])
{
// create a ArrayList String type
ArrayList<String>
gfg =
new
ArrayList<String>();
// Initialize an ArrayList
gfg.add(
"Geeks"
);
gfg.add(
"for"
);
gfg.add(
"Geeks"
);
// print ArrayList
System.out.println(
"Original ArrayList : "
+ gfg);
// create a list and copy all distinct value of list
List<String> gfg1 = gfg.stream()
.distinct()
.collect(Collectors.toList());
// print modified list
System.out.println(
"Modified List : "
+ gfg1);
}
}
Producción:Original ArrayList : [Geeks, for, Geeks] Modified List : [Geeks, for]