public void agregarClaveValor(Comparable clave, Object valor) { ClaveValor temp = new ClaveValor(clave, valor); EstrategiaComparar comparadorAgregar = new PorClave(); bool existe = false; if (this.cuantos() > 0) { foreach (ClaveValor elemento in this.datos) { if (comparadorAgregar.esIgual((Comparable)elemento, (Comparable)temp)) { ((ClaveValor)elemento).setValor(valor); //Console.WriteLine("Modifico clave"); existe = true; } else { existe = false; } } } if (!existe) { //Console.WriteLine("Agrego clave"); //Console.WriteLine((temp.getValor()).GetType() + " " + temp.getValor()); datos.Add(temp); } }
public void agregar(Comparable valor) { EstrategiaComparar comparadorAgregar = new PorClave(); num = new Numero(indice); Comparable claveTemp = new ClaveValor(num, valor); foreach (Comparable elemento in datos) { if (comparadorAgregar.esMayor((ClaveValor)elemento, (ClaveValor)claveTemp)) { ((ClaveValor)claveTemp).setClave(((ClaveValor)elemento).getClave()); } } indice = (((Numero)((ClaveValor)claveTemp).getClave()).getValor() + 1); num.setValor(indice); agregarClaveValor(num, valor); }