Archivo de la etiqueta: lectura de archivos

Ejercicio: Listas enlazadas

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

CLASES


 

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.
union()

 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.

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.

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

guardarArchivo()