Skip to content

Commit 9e3f40a

Browse files
authored
Merge pull request mouredev#3290 from ASJordi/main
#18 - Java
2 parents 7356ac5 + 2bff321 commit 9e3f40a

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed
+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
import java.util.HashSet;
2+
import java.util.LinkedList;
3+
import java.util.List;
4+
import java.util.Set;
5+
6+
public class Main {
7+
8+
public static void main(String[] args) {
9+
operaciones();
10+
operacionesConjuntos();
11+
}
12+
13+
/**
14+
* EJERCICIO:
15+
* Utilizando tu lenguaje crea un conjunto de datos y realiza las siguientes
16+
* operaciones (debes utilizar una estructura que las soporte):
17+
* - Añade un elemento al final.
18+
* - Añade un elemento al principio.
19+
* - Añade varios elementos en bloque al final.
20+
* - Añade varios elementos en bloque en una posición concreta.
21+
* - Elimina un elemento en una posición concreta.
22+
* - Actualiza el valor de un elemento en una posición concreta.
23+
* - Comprueba si un elemento está en un conjunto.
24+
* - Elimina todo el contenido del conjunto.
25+
*/
26+
static void operaciones(){
27+
List<Integer> lista = new LinkedList<>(List.of(1, 2, 3, 4, 5));
28+
29+
System.out.println("Lista original: " + lista);
30+
31+
// Añade un elemento al final
32+
lista.add(6);
33+
34+
// Añade un elemento al principio
35+
lista.add(0, 0);
36+
37+
// Añade varios elementos en bloque al final
38+
lista.addAll(List.of(7, 8, 9));
39+
40+
// Añade varios elementos en bloque en una posición concreta
41+
lista.addAll(0, List.of(-3, -2, -1));
42+
43+
// Elimina un elemento en una posición concreta
44+
lista.remove(0);
45+
46+
// Actualiza el valor de un elemento en una posición concreta
47+
lista.set(0, -10);
48+
49+
// Comprueba si un elemento está en un conjunto
50+
var containsNumber = lista.contains(5);
51+
52+
System.out.println("Lista modificada: " + lista);
53+
54+
// Elimina todo el contenido del conjunto
55+
lista.clear();
56+
57+
System.out.println("Lista vacía: " + lista);
58+
}
59+
60+
/**
61+
* DIFICULTAD EXTRA (opcional):
62+
* Muestra ejemplos de las siguientes operaciones con conjuntos:
63+
* - Unión.
64+
* - Intersección.
65+
* - Diferencia.
66+
* - Diferencia simétrica.
67+
*/
68+
static void operacionesConjuntos(){
69+
// Crear dos conjuntos de números para realizar las operaciones
70+
Set<Integer> conjunto1 = new HashSet<>(Set.of(1, 2, 3, 4, 5));
71+
Set<Integer> conjunto2 = new HashSet<>(Set.of(4, 5, 6, 7, 8));
72+
73+
// UNIÓN
74+
Set<Integer> union = new HashSet<>(conjunto1);
75+
union.addAll(conjunto2);
76+
77+
System.out.println("Unión: " + union);
78+
79+
// INTERSECCIÓN
80+
Set<Integer> interseccion = new HashSet<>(conjunto1);
81+
interseccion.retainAll(conjunto2);
82+
83+
System.out.println("Intersección: " + interseccion);
84+
85+
// DIFERENCIA
86+
Set<Integer> diferencia = new HashSet<>(conjunto1);
87+
diferencia.removeAll(conjunto2);
88+
89+
System.out.println("Diferencia: " + diferencia);
90+
91+
// DIFERENCIA SIMÉTRICA
92+
Set<Integer> diferenciaSimetrica = new HashSet<>(conjunto1);
93+
diferenciaSimetrica.addAll(conjunto2);
94+
Set<Integer> tmp = new HashSet<>(conjunto1);
95+
tmp.retainAll(conjunto2);
96+
diferenciaSimetrica.removeAll(tmp);
97+
98+
System.out.println("Diferencia simétrica: " + diferenciaSimetrica);
99+
}
100+
101+
}

0 commit comments

Comments
 (0)