//Metodo eliminar por posición public static void eliminarPosicion(int pPosicion) { if (comprovacionContenido() == false) { throw new Exception("No existen coches en el concecionario" + Environment.NewLine + "No se pudo eliminar!"); } else if (pPosicion == 1) { eliminarPrimero(); } else if (pPosicion == condeContar()) { eliminarUltimo(); } else if (condeContar() < pPosicion) { throw new Exception("No se puede eliminar el coche de esa posición" + Environment.NewLine + "no se cuenta con tantos coches!"); } else { Coche eliminado = buscarPosicion(pPosicion); eliminado.getAnte().setSgte(eliminado.getSgte()); eliminado.getSgte().setAnte(eliminado.getAnte()); } }
//Metodo para insertar en una posición ingrsada por parametro public static void adicionarPosicion(Coche pCoche, int pPosicion) { Coche recorrido = coches; if (comprovacionContenido() != true) { coches = pCoche; } else if (pPosicion == 1) { adicionarInicio(pCoche); } else { recorrido = buscarPosicion(pPosicion); pCoche.setSgte(recorrido); recorrido.getAnte().setSgte(pCoche); pCoche.setAnte(recorrido.getAnte()); recorrido.setAnte(pCoche); } }
//Metodo para eliminar ultimo de la lista public static void eliminarUltimo() { if (comprovacionContenido() == false) { throw new Exception("No existen coches en el concecionario" + Environment.NewLine + "No se pudo eliminar!"); } else { Coche temCoches = coches; while (temCoches.getSgte() != null) { temCoches = temCoches.getSgte(); } temCoches.getAnte().setSgte(null); } }