Blog sobre Iniciación a la Programación en C y JAVA con material en pdf y vídeos
El método compare se implementa en una clase externa al tipo que se quiere comparar
Si c es un objeto de tipo Comparator, la invocación c.compare(p1,p2) devuelve un boolean
La invocación p1.compareTo(p2) devuelve un boolean
Un objeto de tipo Comparable se crea mediante el operador new
El método compareTo debe implementarse en la clase que implementa el tipo
El método compare debe implicar las mismas propiedades que el método equals
El método compareTo debe ser coherente con el método equals
El método compareTo se implementa mediante invocaciones de los métodos equals de las propiedades
Si un tipo tiene orden natural, su interfaz debe extender a Comparable
El método compareTo recibe dos argumentos del tipo que se quiere comparar
El método compareTo se implementa en una clase externa al tipo que se quiere comparar
Si p1.equals(p2) es true entonces p1.compareTo(p2) debe ser 0
Si un tipo tiene orden natural, su interfaz debe implementar a Comparable
El método compare se implementa mediante invocaciones de los métodos compareTo de las propiedades del tipo
El método compare recibe dos argumentos del tipo que se quiere comparar
El método compareTo debe implicar las mismas propiedades que el método equals
El método compare debe ser coherente con el método equals
El método compare debe devolver un valor igual a 0 si el objeto this es igual al argumento formal
El método compareTo debe devolver un valor mayor que 0 si el primer argumento es mayor que el segundo
El método compareTo recibe un argumento del tipo que lo implementa
La interfaz Comparable sirve para implementar el orden natural de un tipo
Si p1.equals(p2) es true entonces p1.compareTo(p2) debe ser distinto de 0
Si p1.compareTo(p2) es mayor que 0 entonces p1.equals(p2) debe ser true
Si p1.compareTo(p2) es igual a 0 entonces p1.equals(p2) debe ser false
La interfaz Comparator sirve para implementar un orden alternativo de un tipo
SortedSet<Character> ss = new TreeSet<Character>(); ss.add('X'); ss.add('C'); ss.add('R'); ss.add('Q'); SortedSet<Character> fin = ss.tailSet('Q'); fin.add('S'); ss.add('D'); System.out.println(ss);
SortedSet<Character> ss = new TreeSet<Character>(); ss.add('X'); ss.add('C'); ss.add('F'); ss.add('P'); ss.add('R'); ss.add('Q'); SortedSet<Character> inicio = ss.headSet('G'); System.out.println(inicio);
SortedSet<Character> ss = new TreeSet<Character>(); ss.add('X'); ss.add('C'); ss.add('F'); ss.add('P'); ss.add('R'); ss.add('Q'); SortedSet<Character> medio = ss.subSet('G', 'R'); System.out.println(medio);
SortedSet<Character> ss = new TreeSet<Character>(); ss.add('X'); ss.add('C'); ss.add('F'); ss.add('P'); ss.add('R'); ss.add('Q'); SortedSet<Character> fin = ss.tailSet('Q'); System.out.println(fin); Indique el resultado en pantalla. Separe los caracteres por comas sin blancos. Por ejemplo: A,F,Q,R
for (Integer n:numeros) { n++; } System.out.println(numeros);
Se lanza la excepción IndexOutOfBoundsException
[5, 10, 16, 8, 4] y se lanza la excepción IndexOutOfBoundsException
[4, 9, 15, 7, 3] y se lanza la excepción IndexOutOfBoundsException
[4, 9, 15, 7, 3]
[5, 10, 16, 8, 4]
for (int i = 0; i <= numeros.size(); i++) { numeros.set (i, numeros.get(i) + 1); } System.out.println(numeros);
5, 10, 16, 8, 4 y se lanza la excepción IndexOutOfBoundsException
5, 10, 16, 8 y se lanza la excepción IndexOutOfBoundsException
4, 9, 15, 7, 3
5, 10, 16, 8, 4
for (int i = 0; i < numeros.size(); i++) { numeros.set (i, numeros.get(i) + 1); } System.out.println (numeros);
diccionario = ;
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() {1, 2, 3}
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() {5, 6}
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() 4
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() false
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() {1, 2, 3, 4, 5, 6}
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() {4, 5}
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() true
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() {4}
- a.addAll(b) a.removeAll(b) a.retainAll(b) b.removeAll(a) b.contains(5) a.contains(6) a.clear() b.remove(6) a.size() {}
c2.containsAll(c1);
c2.removeAll(c1);
c1.removeAll(c2);
c2.retainAll(c1);
c1.retainAll(c2);
SortedSet<Character> ss = new TreeSet<Character>(); ss.add('X'); ss.add('C'); ss.add('F'); ss.add('P'); ss.add('R'); ss.add('Q'); for (Character ch : ss) { System.out.print(ch); }
El orden de los caracteres varía cada vez que se ejecuta el bucle for
El orden depende del método hashCode()
X Q R P F C
X C F P R Q
C F P Q R X
Persona p1 = new PersonaImpl(........); Persona p2 = new PersonaImpl(........); <> cmp = ; if(){ mostrar(p1 + " y " + p2 + " tienen la misma edad"); }
public class { public ( p1, p2) { int res; = ; if (){ res = ; } return res; } }
Persona\[] v = {p1, p2, p3, p4}; ; System.out.println("Array ordenado según el orden natural: "); System.out.println(v); ; System.out.println("Array ordenado según el orden alternativo de edad: "); System.out.println(v);
List<String> ls1 = new LinkedList<String>(); ls1.add("A");ls1.add("B");ls1.add("B");ls1.add("E");ls1.add("E"); List<String> ls2 = new LinkedList<String>(); ls2.add("C");ls2.add("C");ls2.add("E");ls2.add("E");ls2.add("A"); ................................. System.out.println(ls1);
- [A, B, B, E, E, C, C, E, E, A] [A, B, B, H, E, E] [A, B, E, E] [B, B] [A, E, E] [B, E] [A, B, B, H, E] ls1.add(3,"H");
- [A, B, B, E, E, C, C, E, E, A] [A, B, B, H, E, E] [A, B, E, E] [B, B] [A, E, E] [B, E] [A, B, B, H, E] ls1.remove(2);
- [A, B, B, E, E, C, C, E, E, A] [A, B, B, H, E, E] [A, B, E, E] [B, B] [A, E, E] [B, E] [A, B, B, H, E] ls1=ls1.subList(2,4);
- [A, B, B, E, E, C, C, E, E, A] [A, B, B, H, E, E] [A, B, E, E] [B, B] [A, E, E] [B, E] [A, B, B, H, E] ls1.addAll(ls2);
- [A, B, B, E, E, C, C, E, E, A] [A, B, B, H, E, E] [A, B, E, E] [B, B] [A, E, E] [B, E] [A, B, B, H, E] ls1.set(3,"H");
- [A, B, B, E, E, C, C, E, E, A] [A, B, B, H, E, E] [A, B, E, E] [B, B] [A, E, E] [B, E] [A, B, B, H, E] ls1.retainAll(ls2);
- [A, B, B, E, E, C, C, E, E, A] [A, B, B, H, E, E] [A, B, E, E] [B, B] [A, E, E] [B, E] [A, B, B, H, E] ls1.removeAll(ls2);
SortedSet<Character> ls1 = new TreeSet<Character>(); ls1.add('A');ls1.add('B');ls1.add('B');ls1.add('E');ls1.add('E'); SortedSet<Character> ls2 = new TreeSet<Character>(); ls2.add('C');ls2.add('C');ls2.add('E');ls2.add('E');ls2.add('A'); ................................. System.out.println(ls1);
- [A, B, C, E] [A] [B, E] [B] [A, E] [C] [C, E] ls1.retainAll(ls2);
- [A, B, C, E] [A] [B, E] [B] [A, E] [C] [C, E] ls1.removeAll(ls2);
- [A, B, C, E] [A] [B, E] [B] [A, E] [C] [C, E] ls1=ls2.subSet('B','D');
- [A, B, C, E] [A] [B, E] [B] [A, E] [C] [C, E] ls1.remove('A');
- [A, B, C, E] [A] [B, E] [B] [A, E] [C] [C, E] ls1=ls2.tailSet('C');
- [A, B, C, E] [A] [B, E] [B] [A, E] [C] [C, E] ls1.addAll(ls2);
- [A, B, C, E] [A] [B, E] [B] [A, E] [C] [C, E] ls1=ls2.headSet('C');
- Iterable Collection List Set SortedSet 3
- Iterable Collection List Set SortedSet 1
- Iterable Collection List Set SortedSet 4
- Iterable Collection List Set SortedSet 5
- Iterable Collection List Set SortedSet 2
Iterable
Collection
List
Set
SortedSet
numeros.remove (3); numeros.add (2, 1); List<Integer> numeros2 = numeros.subList (2, 4); numeros2.add (1, 3); System.out.println(numeros);
// bloque 1try{ //bloque 2}catch (ArithmeticException e){ // bloque 3}catch (NullPointerException e){ // bloque 4}finally{ //bloque 5}//bloque 6
Entonces si se produce una excepcion en el bloque 2 de tipo ArithmeticException se ejecutan los bloques siguientes:
1 -> 3 -> 5 -> 6
1 -> 2 -> 3 -> 6
1 -> 2 -> 3 -> 5 -> 6
1 -> 2 -> 3 -> 4 -> 5 -> 6
1 -> 2 -> 3 -> 4 -> 6
Entonces si se produce una excepcion en el bloque 2 de tipo NullPointerException se ejecutan los bloques siguientes:
1 -> 2 -> 5 -> 6
1 -> 2 -> 4 -> 5 -> 6
1 -> 2 -> 4 -> 6
Puntuacion Total
Aciertos
Aciertos Parciales
No hay comentarios:
Publicar un comentario