Auto-test 3 Programación: Array, ArrayList, HashMap Licenciatura

Anuncio
Auto-test 3
Programación: Array, ArrayList, HashMap
Licenciatura de Linguistica y Nuevas Tecnologias
Instrucciones: Fecha limite para devolver el informe del auto-test: Viernes 30 de Mayo, 23h59. No se
admitirán retrasos. El informe se mandará por mail con asunto “T3” y fichero adjuntado (.txt o .doc o .odt o
.pdf) cuyo nombre es el NIA del estudiante, con las preguntas falladas y posibles dudas/preguntas.
1. ¿Qué es un array?
a) Una secuencia de items de diferentes tipos.
b) Un conjunto desordenado de items de
diferentes tipos.
c) Una secuencia de items del mismo tipo.
d) Un conjunto desordenado de items del
mismo tipo.
2. En Java, un array es:
a) un objeto, que creamos al ejecutar, por
ejemplo: String[ ] cadenas;
b) un tipo básico, que creamos al ejecutar, por
ejemplo: int[ ] enteros;
c) un objeto, que creamos al ejecutar, por
ejemplo: new String[10];
c) un tipo básico, que creamos al ejecutar, por
ejemplo: new int[10];
3.¿Qué ocurriría si escribimos esto en Java?
a) Se imprimirá 50 por pantalla.
int [ ] values;
b) Se imprimirá NULL en pantalla.
values[0] = 20;
c) Se imprimirá 20 por pantalla.
values[1] = 30;
d) values apunta a null y no se puede
System.out.println(values[1] + values[0]);
introducir ningún dato en su interior, por lo
que no llegará ni a compilar.
4. ¿Qué resultado dará este código?
a) Nos imprimirá eva, cristina y sergi.
String[] alumnos = new String[10];
b) No imprimirá nada, ya que alumnos.length no
alumnos[0] = "eva";
está inicializado.
alumnos[1] = new String("cristina");
c) Imprimirá 10 elementos, los cuatro
alumnos[2] = "sergi";
primeros serán eva, cristina, sergi y teresa,
alumnos[3] = new String("teresa");
y los siguientes serán null, ya que no
for (int i=0;i<alumnos.length;i++)
contienen nada.
System.out.println("Element " + i + " is " +
d) Imprimirá 10 elementos, con los cuatro
alumnos[i]);
nombres repetidos hasta llegar al final del
estilo: eva, cristina, sergi, teresa, eva, cristina,
sergi, teresa, eva, cristina.
5. ¿Es correcto éste código?.
a) Sí, y creará un array con tres elementos
String[ ] nicks = {"binary", "sedicivalvole", “carabel”}; que podrá ser mostrado sin problemas si
queremos.
b) No, ya que no hemos creado el objeto con
new.
c) Sí, pero creará un único String con
contenido: binarysedicivalvolecarabel (todo
junto).
d) No, nicks tendrá contenido nulo, y no se
creará con los valores que esperábamos
(binary, sedicivalvole, carabel).
6. ¿Es posible crear un array con objetos que
a) No, dado que el tipo array sólo permite
pertenezcan a una clase propia? o sea, en lugar de utilizar tipos ya definidos en el lenguaje de
utilizar tipos como String, Integer, int, float, utilicemos Java.
nuestra propia clase
b) No, porque acabaríamos teniendo un array
sin contenido que mostrar.
c) Sí, pero no podremos mostrarlo ni acceder a
los datos de la clase.
d) Sí, y además se inicializa de la siguiente
manera (siendo Socio una clase definida y
con 4 parámetros en el constructor):
Socio[] socios = new Socio[2];
socios[0] = new Socio("jordi","binary", 2, 5);
socios[1] = new Socio("miguel","macs", 2, 5);
7. Con este código:
a) El contenido del array será finalmente:
int uno_diez = {1, 2, 3, 4, 5, 6, 7}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
uno_diez[7] = 8;
b) El contenido del array será
uno_diez[8] = 9;
{8, 9, 10}
uno_diez[9] = 10;
c) Los arrays no pueden cambiar de longitud
y nos dará error.
d) El contenido del array será:
{1, 2, 3, 4, 5, 6, 7}
8. Este otro código:
int numeros = {1, 2, 3};
numeros[0] = 4;
numeros[2] = numeros[0] + numeros[1];
9. alumnos.length es:
a) numeros[2] contendrá el número 6.
b) numeros[2] contendrá 3
c) Dará error
a) una variable que permite acceder al tamaño
actual del array.
b) una variable que permite acceder al
tamaño máximo del array.
c) un método que devuelve el tamaño actual del
array.
d) un método que devuelve el tamaño máximo
del array.
10. ¿Cual de estas afirmaciones sobre un ArrayList a) Su tamaño cambia de forma dinámica.
es falsa?
b) Puede contener elementos de cualquier tipo
objeto.
c) Puede contener elementos de cualquier
tipo, objeto o básico.
d) Se puede recoger y añadir un elemento con
los método get y add respectivamente.
11. ¿Cual de estas afirmaciones sobre el objeto de a) Permite recorrer un ArrayList y evitar así
tipo Iterator es falsa?
manipular los índices de forma explicita
b) Es la única manera de recorrer un
ArrayList
c) Solo se puede utilizar una vez para recorrer
un ArrayList. Para recorrer el ArrayList otra vez,
hay que crear un nuevo Iterator.
d) Pertenece al paquete estándar java.util.
12. ¿Cual de estas afirmaciones sobre HashMap es a) Lo que es único son las parejas <clave,
correcta? Se dice que un HashMap es un conjunto valor>, clave y valor pueden ser duplicados.
de asociaciones <clave, valor>:
b) Lo que es único son los valores.
c) Una misma clave puede tener más de un
valor.
d) Las claves son únicas.
13. Este código
a) No funcionará, dado que Integer, null,
HashMap hashmap = new HashMap();
“THREE” y Float son tipos distintos de datos.
b) Nos creará una HashMap con tres
asociaciones <clave,valor>, ya que la
hashmap.put("one",new Integer(1));
asociación con clave “three” se sobrehashmap.put("two",null);
escribe.
hashmap.put("three","THREE");
c) Nos creará un HashMap con cuatro
hashmap.put("three",new Float(4));
asociaciones <clave,valor>, ya que los valores
con clave “three” son de tipo distinto.
d) Nos creará una HashMap con tres
asociaciones <clave,valor>, ya que “two” tiene
como valor null.
14. Para recorrer un HashMap:
a) Podemos recorrerlo de forma secuencial,
usando índices.
b) Tenemos que recuperar el conjunto de
valores del HashMap, y, recorriendo este
conjunto valor por valor, acceder de esta forma
a cada asociación <clave,valor> del HashMap.
c) Tenemos que recuperar el conjunto de
claves del HashMap, y, recorriendo este
conjunto clave por clave, acceder de esta
forma a cada asociación <clave,valor> del
HashMap.
d) Podemos recorrerlo de forma secuencial,
usando un iterator.
15. Asumiendo que print es un método que imprime a) Se imprime:
un array de int pasado como argumento de entrada, 1 2 3 4 5
¿qué pasa al ejecutar este código?:
23456
b) Se imprime:
public static void main(String[ ] args) {
12345
12345
int[ ] array1 = {1,2,3,4,5};
c) Se imprime:
int[ ] array2 = doSomething(array1);
23456
23456
print(array1);
d) Se imprime:
print(array2);
23456
12345
}
public static int[ ] doSomething(int[ ] values) {
for (int i=0;i<values.length;i++) {
values[i]++;
}
return values;
}
Descargar