1
+ fun main () {
2
+ // Creamos un conjunto mutable
3
+ val conjunto = mutableListOf (" A" , " B" , " C" )
4
+ println (" Conjunto inicial: $conjunto " )
5
+
6
+ // Añade un elemento al final
7
+ conjunto.add(" D" )
8
+ println (" Después de añadir al final: $conjunto " )
9
+
10
+ // Añade un elemento al principio
11
+ conjunto.add(0 , " Z" )
12
+ println (" Después de añadir al principio: $conjunto " )
13
+
14
+ // Añade varios elementos en bloque al final
15
+ conjunto.addAll(listOf (" E" , " F" , " G" ))
16
+ println (" Después de añadir en bloque al final: $conjunto " )
17
+
18
+ // Añade varios elementos en bloque en una posición concreta
19
+ conjunto.addAll(2 , listOf (" X" , " Y" ))
20
+ println (" Después de añadir en bloque en posición 2: $conjunto " )
21
+
22
+ // Elimina un elemento en una posición concreta
23
+ conjunto.removeAt(3 )
24
+ println (" Después de eliminar el elemento en posición 3: $conjunto " )
25
+
26
+ // Actualiza el valor de un elemento en una posición concreta
27
+ conjunto[1 ] = " W"
28
+ println (" Después de actualizar el elemento en posición 1: $conjunto " )
29
+
30
+ // Comprueba si un elemento está en un conjunto
31
+ println (" ¿El conjunto contiene 'F'? ${conjunto.contains(" F" )} " )
32
+
33
+ // Elimina todo el contenido del conjunto
34
+ conjunto.clear()
35
+ println (" Después de eliminar todo el contenido: $conjunto " )
36
+
37
+ // DIFICULTAD EXTRA
38
+ val conjunto1 = setOf (1 , 2 , 3 , 4 , 5 )
39
+ val conjunto2 = setOf (4 , 5 , 6 , 7 , 8 )
40
+
41
+ // Unión
42
+ val union = conjunto1.union(conjunto2)
43
+ println (" Unión: $union " )
44
+
45
+ // Intersección
46
+ val interseccion = conjunto1.intersect(conjunto2)
47
+ println (" Intersección: $interseccion " )
48
+
49
+ // Diferencia
50
+ val diferencia = conjunto1.subtract(conjunto2)
51
+ println (" Diferencia (conjunto1 - conjunto2): $diferencia " )
52
+
53
+ // Diferencia simétrica
54
+ val diferenciaSimetrica = conjunto1.symmetricDifference(conjunto2)
55
+ println (" Diferencia simétrica: $diferenciaSimetrica " )
56
+ }
57
+
58
+ // Función de extensión para calcular la diferencia simétrica
59
+ fun Set<Int>.symmetricDifference (other : Set <Int >): Set <Int > {
60
+ return (this subtract other) union (other subtract this )
61
+ }
0 commit comments