Esta actividad no es para entregar.
Crea la clase edd.util.ListsAndIterators
con los métodos que se describen a continuación:
public static <T> List<T> duplicate(List<T> list)
Escribe el método estático duplicate()
que recibe una lista genérica list
y devuelve una nueva lista con todos los elementos de list
duplicados. Por ejemplo, si la lista de entrada es: [1, 2, 3], la salida sería: [1, 1, 2, 2, 3, 3].
public static <T> List<T> consecute(List<T> list)
Escribe el método estático consecute()
que recibe una lista genérica list
y devuelve una nueva lista en donde el primer elemento de list
aparece una sola vez, el segundo elemento aparece dos veces, el tercer elemento aparece tres veces, y así sucesivamente. Por ejemplo, si la lista de entrada es: [1, 2, 3, 4], la salida sería: [1, 2, 2, 3, 3, 3, 4, 4, 4, 4].
public static <T> List<T> removeDuplicates(List<T> list)
Escribe el método estático removeDuplicates()
que recibe una lista genérica list
y devuelve una nueva lista con los mismos elementos que list
pero eliminando los elementos repetidos. Por ejemplo, si la lista de entrada es: [1, 2, 2, 1, 4, 2, 4, 3], la salida sería: [1, 2, 4, 3].
public static Iterator<Integer> pow2(int n)
Escribe el método estático pow2()
que recibe un entero n
y devuelve un iterador de enteros que produce las primeras n
potencias de dos. Por ejemplo, si la entrada es 4, devuelve un iterador que en su momento producirá 1, 2, 4 y 8. El método remove()
del iterador devuelto debe arrojar la excepción UnsupportedOperationException
.
public static Iterator<Integer> primes(int max)
Escribe el método estático primes()
que recibe un entero max
y devuelve un iterador de enteros que produce todos los números primos menores o iguales a max
. Por ejemplo, si la entrada es 10, devuelve un iterador que en su momento producirá 2, 3, 5 y 7. El método remove()
del iterador devuelto debe arrojar la excepción UnsupportedOperationException
.
public static Iterator<Integer> squares(int[] array)
Escribe el método estático squares()
que recibe un arreglo de enteros array
y devuelve un iterador de enteros que produce los valores de array
elevados al cuadrado. Por ejemplo, si la entrada es el arreglo [1, 2, 3], devuelve un iterador que en su momento producirá 1, 4 y 9. El método remove()
del iterador devuelto debe arrojar la excepción UnsupportedOperationException
.
Archivos útiles: