Para este ejercicio vamos a utilizar las listas enlazadas en formas de conjuntos, calular su union, interseccion y resta; tambien manejaremos archivos para cargar y guardar listas en archivos.
Para el proyecto vamos a crear las siguientes clases:
- Programa.java
- Conjunto.java
- Coordenada.java
Coordenada.java
Coordenada. java es una clase que representa un TDA el cual usamos para llenar las listas y representar los conjuntos. En este caso, son conjuntos de coordenadas.
En esta clase sobrescribimos los métodos equals(); y toString(); para adecuarlos a coordenadas. Cuenta con dos constructores, uno con parametros vacios que nos ubica una coordenada en Guayaquil y otra con parámetros para colocar el punto de la coordenada.
Conjunto.java
En la clase conjunto se manejan las operaciones de unión, intersección y resta de conjuntos.
Método union();
Este método recibe 2 listas y devuelve la unión de esas listas en forma de otra lista
Primero agrega todos los elementos de las dos listas en una gran lista, y luego con un Iterador pasamos a quitar los repetidos usando la funcion .contains() de las listas enlazadas.
Metodo Interseccion();
Este método recibe 2 listas y devuelve lainterseccion de esas listas en forma de otra lista
En la interseccion iteramos la primera lista, y preguntamos si los elementos tambien los contiene la lista dos, guardando en una tercera lista la interseccion.
Metodo Resta();
Este método recibe 2 listas y devuelve la resta de esas listas en forma de otra lista
Para la resta iteramos el primer conjunto, y vamos preguntando si estos se encuentran en el segundo conjunto, si no se encuentran estos son agregados a la lista de la resta.
Programa.java
En el programa carga las listas de coordenadas y aplica las operaciones de conjunto para imprimir por pantalla los resultados
Tambien los guarda en un nuevo archivo.
Metodo GuardarArchivo();
El metodo guardarArchivo, tiene como parametro las listas a guardar y el nombre del archivo a guardar (si este no existe lo crea, y si existe lo sobrescribe).
Con PrinterWriter nos permite escribir en el archivo y guardamos directamente las listas, ya que tienen el toString() ya establecido