80 preguntas y respuestas de la entrevista sobre colecciones de Java (2024)

Aquí hay preguntas de la entrevista de las colecciones de Java para que los candidatos más nuevos y experimentados consigan el trabajo de sus sueños.

 

Preguntas y respuestas de la entrevista de colecciones de Java para principiantes

1) ¿Qué es el marco en Java?

Un marco es un popular y listo para usar. architectura que contiene un conjunto de clases e interfaces.


2) ¿Qué es el marco de la Colección en Java?

Collection Framework es una agrupación de clases e interfaces que se utiliza para almacenar y administrar los objetos. Proporciona varias clases como Vector, ArrayList, HashSet, Stack, etc. El marco de Java Collection también se puede utilizar para interfaces como Queue, Set, List, etc.

Preguntas de la entrevista sobre colecciones de Java


3) Explicar la clase de colecciones

java.util.Collections es una clase que consta de métodos estáticos que operan en colecciones. Contiene algoritmos polimórficos para operar sobre colecciones, “wrappers”. Esta clase contiene métodos para algoritmos, como clasificación binaria, búsqueda, barajado, etc.


4) ¿Qué es el código hash()?

HashCode() es un método que devuelve un código hash entero.


5) Distinga entre ArrayList y Vector en el marco de la colección Java.

Lista de arreglo vector
ArrayList no puede ser synccronizado. El vector puede ser es synccronizado.
No es una clase heredada. Es una clase heredada.
Puede aumentar su tamaño en un 50% del tamaño de la matriz. Puede aumentar su tamaño duplicando el tamaño de la matriz.
ArrayList no es seguro para subprocesos. Vector es seguro para subprocesos.

6) ¿Qué es ArrayList en Java?

Lista de arreglo es una estructura de datos que se puede estirar para acomodar elementos adicionales dentro de sí misma y reducirse a un tamaño más pequeño cuando se eliminan los elementos. Es una estructura de datos muy importante útil para manejar el comportamiento dinámico de los elementos.


7) Diferenciar entre Iterador y ListIterator

La diferencia entre Iterator y ListIterator es:

Iterador ListaIterador
El iterador puede atravesar los elementos de la matriz en dirección hacia adelante. ListIterator puede atravesar los elementos de la matriz tanto hacia atrás como hacia adelante.
Se puede utilizar en cola, lista y conjunto. Se puede utilizar en Lista.
Sólo puede realizar la operación de eliminación. Puede realizar operaciones de agregar, eliminar y configurar mientras recorre la colección.

8) ¿Cuál es la diferencia entre iterador y enumeración?

La diferencia entre iterador y enumeración.

Iterador Enumeración
El iterador puede atravesar elementos heredados y no heredados. La enumeración solo puede atravesar elementos heredados.
El iterador no falla. La enumeración no es rápida.
El iterador es muy lento en comparación con la enumeración. La enumeración es rápida en comparación con el iterador.
El iterador puede realizar una operación de eliminación mientras atraviesa la colección. La enumeración solo puede realizar operaciones transversales en la colección.

9) Definir cola de bloqueo

BlockingQueue es una interfaz utilizada en Java que puede extender la cola. Proporciona concurrencia en varias operaciones de cola como recuperación, inserción, eliminación, etc.

La cola espera hasta que no esté vacía en el momento de recuperar cualquier elemento. BlockingQueue no debe contener elementos nulos. La implementación de esta cola es segura para subprocesos.

La sintaxis de BlockingQueue es:

public interface BlockingQueue<E> extends Queue <E>

10) Explicar el método de anulación igual a()

El método igual se utiliza para comprobar la similitud entre dos objetos. En caso de que el programador quiera verificar un objeto según la propiedad, entonces debe anularlo.


11) ¿Cuál es la diferencia entre Comparable y Comparador?

La diferencia entre Comparable y Comparador es:

Comparable comparador
Comparable proporciona el método compareTo() para ordenar elementos en Java. Comparator proporciona el método compare() para ordenar elementos en Java.
Una interfaz comparable está presente en el paquete java.lang. La interfaz del comparador está presente en java. paquete de utilidades.
La lógica de clasificación debe estar en la misma clase cuyo objeto vas a ordenar. La lógica de clasificación debe estar en una clase separada para escribir una clasificación diferente basada en diferentes atributos de los objetos.
La clase cuyos objetos desea ordenar debe implementar la interfaz comparable. La clase cuyos objetos desea ordenar no necesita implementar una interfaz de comparación.
Proporciona secuencias de clasificación únicas. Proporciona múltiples secuencias de clasificación.
Este método puede ordenar los datos según el orden de clasificación natural. Este método clasifica los datos según el orden de clasificación personalizado.
Afecta a la clase original. es decir, se modifica la clase real. No afecta a la clase original, es decir, la clase real no se modifica.
Implementado con frecuencia en la API mediante Calendario, clases Wrapper, Fecha y Cadena. Se implementa para ordenar instancias de clases de terceros.
Todas las clases contenedoras y la clase String implementan la interfaz comparable. Las únicas clases implementadas de Comparator son Collator y RuleBasedColator.

12) Explica igual() con un ejemplo

Equals() verifica si el objeto numérico es igual al objeto, que se pasa como argumento o no.

La sintaxis del método equals() es:

public boolean equals(Object o)

Este método toma dos parámetros 1) cualquier objeto, 2) valor de retorno. Devuelve verdadero si el argumento pasado no es nulo y es un objeto de tipo similar que tiene el mismo valor numérico.

Ejemplo:

import java.lang.Integer;
public class Test { 
   public static void main(String args[]) {
      Integer p = 5;
      Integer q = 20;
      Integer r =5;
      Short s = 5;
      System.out.println(p.equals(q));  
      System.out.println(p.equals(r)); 
      System.out.println(p.equals(s));
   }
}

13) Enumere los beneficios de la colección genérica

Los beneficios de utilizar la colección genérica son:

  • Si los programadores utilizan clases genéricas, no requieren encasillamiento.
  • Tiene seguridad de tipos y se puede comprobar en el momento de la compilación.
  • Proporciona la estabilidad del código al detectar errores en el momento de la compilación.

14) Explique el método para convertir ArrayList en Array y Array en ArrayList

Los programadores pueden convertir un Array en ArrayList utilizando el método asList() de la clase Arrays. Es un método estático de la clase Arrays que acepta el objeto List. La sintaxis del método asList() es:

Arrays.asList(item)

Los programadores de Java pueden convertir ArrayList en el objeto List usando la sintaxis:

List_object.toArray(new String[List_object.size()])

15) Dar ejemplo de ArrayList

El ejemplo de ArrayList inverso es:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);
  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

16) Dé un ejemplo para ordenar una matriz en orden descendente

El ejemplo de ordenar una matriz en orden descendente es:

package com.guru99;

public class SelectionSortAlgo {
 
	public static void main(String a[])
	{  
		int[] myArray = {860,8,200,9}; 
		
		System.out.println("------Before Sort-----");
 
		printArray(myArray);
 		selection(myArray);//sorting array using selection sort  
 		System.out.println("-----After Sort-----");  
		printArray(myArray); 
	} 
		public static void selection(int[] array)
	{  
		for (int i = 0; i < array.length - 1; i++)  
		{  System.out.println("Sort Pass Number "+(i+1));
			int index = i;  
			for (int j = i + 1; j < array.length; j++)
			{   
			    System.out.println("Comparing "+ array[index]  + " and " + array[j]);  
				if (array[j] < array[index]){ 
				System.out.println(array[index]  + " is greater than " + array[j] );
					index = j;		
				}  
			}  
			int smallerNumber = array[index];   
			array[index] = array[i];  
			array[i] = smallerNumber;  
			System.out.println("Swapping Elements: New Array After Swap");
			printArray(array);
		}  
	}  
	static void printArray(int[] array){
	    
	    for(int i=0; i < array.length; i++)
		{  
			System.out.print(array[i] + " ");  
		} 
	    System.out.println();   
	}
}

17) Explique las interfaces básicas del marco de colecciones de Java.

El marco de recopilación de Java es la raíz de la jerarquía de recopilación. Representa un grupo de objetos como sus elementos. El lenguaje de programación Java no proporciona una implementación directa de dicha interfaz.

  • Conjunto: Set es una colección que no tiene elementos duplicados. Utiliza tabla hash para almacenar elementos.
  • Lista: Una lista es una colección ordenada que puede contener elementos duplicados. Permite a los desarrolladores acceder a cualquier elemento desde su interior.box. La lista es como una matriz que tiene una longitud dinámica.
  • MAPA: Es un objeto que asigna claves a valores. No puede contener claves duplicadas. Cada clave se puede asignar a al menos un valor.

18) ¿Cuáles son las características de Java Hashmap?

Caracteristicas de Mapa de hash de Java son:

  • Los valores se pueden almacenar en un mapa formando un par clave-valor. El valor se puede recuperar usando la clave pasándola al método correcto.
  • Si no existe ningún elemento en el mapa, se generará una "NoSuchElementException".
  • HashMap almacena solo referencias de objetos. Por eso es imposible utilizar tipos de datos primitivos como double o int. Utilice una clase contenedora (como Integer o Double) en su lugar.


19) ¿Qué es una pila?

Una pila es un área especial de la memoria de la computadora que almacena variables temporales creadas por una función. En la pila, las variables se declaran, almacenan e inicializan durante el tiempo de ejecución.


20) ¿Qué es la lista enlazada?

Una lista vinculada es una estructura de datos que puede almacenar una colección de elementos. En otras palabras, las listas enlazadas se pueden utilizar para almacenar varios objetos del mismo tipo. Cada unidad o elemento de la lista se denomina nodo. Un nodo en la lista Enlazada tiene sus datos y la dirección del siguiente nodo. Es como una cadena. Las listas enlazadas se utilizan para crear gráficos y árboles.


Preguntas y respuestas de la entrevista de colecciones de Java para experimentados

21) Dar ejemplo de ArrayList

El ejemplo de ArrayList es:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

22) Explicar la lista enlazada soportada por Java

Dos tipos de listas enlazadas soportadas por Java son:

  • Lista enlazada individualmente: La lista enlazada individualmente es un tipo de estructura de datos. En una lista enlazada individualmente, cada nodo de la lista almacena el contenido del nodo y una referencia o puntero al siguiente nodo de la lista. No almacena ninguna referencia o puntero al nodo anterior.
  • Listas doblemente enlazadas: Las listas doblemente enlazadas son un tipo especial de lista enlazada en la que el recorrido a través de los elementos de datos se puede realizar en ambas direcciones. Esto es posible al tener dos enlaces en cada nodo, uno que conecta con el siguiente nodo y otro que conecta con el nodo anterior.

23) ¿Explica los métodos proporcionados por la interfaz de cola?

Los métodos de la interfaz Java Queue son:

Método Descripción
adición booleana (objeto) Inserta el elemento especificado en la cola. Devuelve verdadero en caso de que sea exitoso.
oferta booleana (objeto) Este método se utiliza para insertar el elemento en la cola.
Objeto eliminar () Recupera y elimina el encabezado de la cola.
Encuesta de objeto () (): Recupera y elimina el encabezado de la cola o devuelve un valor nulo en caso de que esté vacío.
Encuesta de objeto () Recupera y elimina el encabezado de la cola o devuelve un valor nulo en caso de que esté vacío.
Elemento de objeto () Recupera los datos de la cola, pero no elimina su encabezado.
Vistazo de objeto () Recupera los datos de la cola pero no elimina su encabezado o, en caso de que la cola esté vacía, recuperará un valor nulo.

24) Mencione los métodos proporcionados por la clase Stack.

Los métodos importantes proporcionados por la clase Stack son:

  • empujar(): Empuje el artículo hacia la pila.
  • vacío (): Este método determina si la pila está vacía o no.
  • estallido (): Este método del marco de recopilación de Java elimina el objeto de la pila.
  • buscar (): Este método busca elementos en la pila.
  • echar un vistazo (): Este método Java mira el objeto de la pila sin eliminarlo.

25) Defina vacíoSet() en el marco de colecciones de Java

Método vacíoSet() que devuelve el conjunto inmutable vacío cada vez que los programadores intentan eliminar elementos nulos. El conjunto que devuelve vacíoSet() es serializable. La sintaxis de este método es:

público estático final Conjunto conjunto vacío()


26) Diferenciar entre Colección y Colecciones

La diferencia entre Colección y Colecciones es:

Colecciones Colecciones
La colección es una interfaz. Colecciones es una clase.
Representa un grupo de objetos como una sola entidad. Define varios métodos de utilidad para objetos de colección.
La colección es la interfaz raíz del marco de la Colección Java. Colecciones es una clase de utilidad general.
Esta interfaz se utiliza para derivar las estructuras de datos de la colección. Esta clase contiene métodos estáticos para manipular la estructura de datos.

27) ¿Definir LinkedHashSet en el marco de la Colección Java?

LinkedHashSet es una subclase de la clase llamada HashSet e implementa la interfaz set. Es una versión bien ordenada de HashSet que mantiene una Lista doblemente vinculada en todos sus elementos.


28) ¿Cuál es la diferencia entre a prueba de fallos y a prueba de fallos?

failfast A prueba de fallos
No permite modificar la colección durante la iteración. Permite modificar la colección mientras se itera.
Puede lanzar ConcurrentModificationException No puede generar ninguna excepción.
Utiliza la colección original para recorrer los elementos. Utiliza una copia de la colección original para recorrer los elementos.
No se requiere memoria adicional. Existe un requisito de memoria adicional.

29) Vistas de colección de listas de una interfaz de mapa

Las vistas de colección de la interfaz del mapa son: 1) vista de conjunto de claves, 2) vista de conjunto de valores y 3) vista de conjunto de entradas.


30) ¿Cuáles son los beneficios del Collection Framework en Java?

Los beneficios de Collection Framework en Java son:

  • El marco de recopilación de Java ofrece estructuras de datos altamente eficientes y efectivas que mejoran la precisión y velocidad del programa.
  • El programa desarrollado con el marco de la colección Java es fácil de mantener.
  • Un desarrollador puede combinar clases con otros tipos que resulten en un aumento de la reutilización del código.
  • El marco de colección de Java permite a los programadores modificar los tipos de colección primitivos como quieran.

31) ¿Cuál es una buena forma de ordenar los objetos de la Colección en Java?

Una buena forma de ordenar los objetos de la colección Java es utilizar las interfaces Comparable y Comparator. Un desarrollador puede usar Collections.sort(), los elementos se ordenan según el orden mencionado en compareTo().

Cuando un desarrollador usa Colecciones, ordenar (Comparador), ordena los objetos dependiendo de comparar() de la interfaz Comparador.


32) Explicar el vector en Java

El vector es lo mismo que una matriz. Tiene componentes a los que se puede acceder mediante un valor de índice. Los vectores pueden contener un método heredado que no forma parte del marco de la colección.


33) ¿Cuál es la diferencia entre Conjunto y Mapa?

Set Mapa
El conjunto pertenece al paquete-java.util. El mapa pertenece al paquete java.util.
Puede ampliar la interfaz de colección. No amplía la interfaz de colección.
No permite valores duplicados. Permite valores duplicados.
Set puede ordenar solo un valor nulo. El mapa puede ordenar varios valores nulos.

34) Definir clase de diccionario

La clase Diccionario es una clase Java que tiene la capacidad de almacenar pares clave-valor.


35) Definir conjunto de enumeraciones

java.util.EnumSet es una implementación de conjunto que se puede utilizar con tipos de enumeración. EnumSet que tiene todos los elementos debe provenir de un tipo de enumeración especificado explícita o implícitamente. No lo es syncNo se permiten claves cronizadas ni nulas. EnumSet proporciona métodos como EnumSetof(E first, E… rest), complementOf(EnumSet s) y copyOf(Collection c).


36) ¿Cuáles son las dos formas de eliminar duplicados de ArrayList?

Dos formas de eliminar duplicados de ArrayList son:

  • Conjunto de hash: El desarrollador puede usar HashSet para eliminar el elemento duplicado de ArrayList. El inconveniente es que no puede conservar el orden de inserción.
  • Conjunto de hash vinculado: Los desarrolladores también pueden mantener el orden de inserción utilizando LinkedHashSet en lugar de HashSet.

37) ¿Qué es IdentityHashMap?

IdentityHashMap es una clase que implementa interfaces serializables, clonables, mapas y extiende la clase AbstractMap. Está diseñado para el caso en el que existe una necesidad de semántica de igualdad de referencia.


38) ¿Qué es WeakHashMap?

WeakHashMap es una implementación de Java Map. Se utiliza para almacenar referencias débiles a sus claves. La clasificación mediante este mapa permite que un par clave-valor se recopile como basura. No se hace referencia a su clave fuera de WeakHashMap.


39) ¿Cuáles son los métodos para hacer que la colección sea segura para subprocesos?

Los métodos para hacer que los subprocesos de recopilación sean seguros son:

  • Colecciones.syncListaHronizada(lista);
  • Colecciones.syncMapacronizado(mapa);
  • Colecciones.syncConjuntoHronizado(conjunto);

40) Explicar la excepción de operación no admitida

UnsupportedOperationException es una excepción que se produce en métodos que no son compatibles con el tipo de colección real.

Por ejemplo, el desarrollador está creando una lista de solo lectura usando “Collections.unmodifiableList(list)” y llamando al método call(), add() o remove(). Claramente debería arrojar UnsupportedOperationException.


41) Nombra las clases de colección que dan acceso aleatorio a sus elementos.

Las clases de colección que brindan acceso aleatorio a sus elementos son: 1) ArrayList, 2) HashMap, 3) TreeMap y 4) Hashtable.


42) Explique la diferencia entre Cola y Deque.

Cola Deque
Se llama cola de un solo extremo. Se llama un doublecola finalizada
Los elementos de la cola se agregan o eliminan desde un extremo. Los elementos en la cola se agregan desde cualquier extremo y se pueden agregar y eliminar desde ambos extremos.
Es menos versátil. Es más versátil.

43) Mencione la interfaz de implementación List y Set

Interfaz de lista de implementación de clase: 1) ArrayList, 2) Vector y 3) LinkedList.

Clase que implementa la interfaz Set: 1) HashSet y 2) TreeSet.


44) Explique el patrón de diseño seguido por Iterator.

El iterador sigue los detalles del patrón de diseño del iterador. Proporciona al desarrollador la posibilidad de navegar a través de las colecciones de objetos utilizando una interfaz común sin conocimientos.wing su implementación.


45) ¿Cuál es el peek() de la interfaz Queue?

Peek () es un método de interfaz de cola. Recupera todos los elementos pero no elimina el encabezado de la cola. En caso de que la cola esté vacía, este método devolverá nulo.


46) ¿Qué es CopyOnWriteArrayList?

CopyOnWriteArrayList es una variante de ArrayList en la que operaciones como agregar y configurar se implementan creando una copia de la matriz. Es seguro para subprocesos y, por lo tanto, no arroja ConcurrentModificationException. Este ArrayLists permite todos los elementos, incluido nulo.


47) Diferenciar entre ArrayList y LinkedList

La diferencia entre ArrayList y LinkedList es:

Lista de arreglo Lista enlazada
Utiliza una matriz dinámica. Utiliza una lista doblemente enlazada.
ArrayList no es preferible para manipulación. LinkedList es preferible para la manipulación.
ArrayList proporciona acceso aleatorio. LinkedList no proporciona acceso aleatorio.
ArrayList s almacena solo objetos, por lo que requiere menos sobrecarga de memoria LinkedList almacena objetos y direcciones; por lo tanto, requiere más sobrecarga de memoria.

48) Explicar los métodos de la interfaz iteradora.

Los métodos de interfaz iterador son:

Método Descripción
hasNext público booleano() Devuelve verdadero en el iterador que tiene elementos; otrowise, devuelve falso.
Objeto público siguiente() Este método devuelve el elemento y mueve el puntero al siguiente valor.
eliminación de vacío público() Este método Java puede eliminar los últimos elementos devueltos por el iterador. Public void remove() se usa menos.

49) ¿Cuáles son los métodos de la clase HashSet?

Los métodos de la clase HashSet son:

Métodos Descripción
adición booleana (Objeto o) Este método agrega el elemento de mención a este conjunto si aún no está presente.
booleano contiene (Objeto o): Devuelve verdadero si el conjunto contiene el elemento especificado.
anular claro(): Este método elimina elementos establecidos.
booleano está vacío(): Devuelve verdadero en el caso de que el conjunto no tenga elementos.
eliminación booleana (Objeto o): Elimina el elemento especificado del conjunto.
clon de objeto(): Este método devuelve una copia de la instancia de HashSet: los elementos en sí no se clonan.
iterador iterador() Devuelve un iterador sobre los elementos de este conjunto.
tamaño int(): Devuelve el número de elementos disponibles en el conjunto.

50) ¿Cuáles son los métodos de la clase Java TreeSet?

Los métodos de la clase Java TreeSet son:

Métodos Descripción
boolean addAll (Colección c) Agregue todos los elementos de la colección especificada a este conjunto.
booleano contiene (Objeto o) Devuelve verdadero si el conjunto contiene el elemento de mención.
boolean isEmpty () Este método Java devuelve verdadero si este conjunto no contiene elementos.
boolean eliminar (Objeto o) Elimina el elemento especificado del conjunto.
agregar vacío (Objeto o) Agrega el elemento especificado al conjunto.
vacío claro () Este método Java elimina todos los elementos del conjunto.

51) Explicar el HashSet vinculado

La clase Java LinkedHashSet es una implementación de lista vinculada y tabla Hash de la interfaz Set. Contiene elementos únicos iguales que un HashSet. Linked HashSet en Java también proporciona operaciones de conjunto opcionales que pueden mantener el orden de inserción.


52) ¿Cuáles son los métodos importantes utilizados en una lista vinculada?

Los métodos importantes utilizados en la lista vinculada son:

Método Descripción
adición booleana (objeto o) Se utiliza para agregar el elemento especificado al final del vector.
booleano contiene (Objeto o) Es un método que devuelve verdadero si esta lista contiene el elemento especificado.
agregar vacío (índice int, elemento objeto) Inserta el elemento en el elemento especificado en el vector.
anular agregarPrimero(Objeto o) Se utiliza para insertar el elemento dado al principio.
void addLast(Objeto o) Se utiliza para agregar el elemento dado al final.
tamaño entero() Este método se puede utilizar para devolver el número total de elementos en una lista.
boolean eliminar (Objeto o) Puede eliminar la primera aparición del elemento especificado de esta lista.
int indexOf(elemento objeto) Este método Java devuelve el índice con la primera aparición del elemento mencionado en esta lista, o -1.
int lastIndexOf (elemento objeto) Es un método Java que devuelve el índice con la última aparición del elemento especificado en esta lista, o -1.

53) Enumere varias clases disponibles en conjuntos.

Varias clases disponibles en conjuntos son: HashSet, TreeSetand y LinkedHashSet.


54) Listar los métodos disponibles en la interfaz Java Queue

  • adición booleana (objeto)
  • oferta booleana (objeto)
  • eliminar objeto()
  • encuesta de objetos()
  • elemento objeto()
  • vistazo al objeto()

55) Diferenciar entre Lista y Conjunto.

Lista Set
Una colección ordenada de elementos. Una colección desordenada de elementos.
Conserva el orden de inserción No conserva el orden de inserción.
Se permiten valores duplicados No se permiten valores duplicados
Se puede almacenar cualquier número de valores nulos. Sólo se puede almacenar un valor nulo
ListIterator se puede utilizar para recorrer la Lista en cualquier dirección ListIterator no se puede utilizar para atravesar un conjunto
Contiene una clase heredada llamada vector. No contiene ninguna clase heredada

Preguntas y respuestas de la entrevista de colecciones de Java para más de 5 años de experiencia

56) Explica cada bucle con un ejemplo.

For-Each Loop es otra forma de bucle for que se utiliza para atravesar la matriz. Reduce significativamente el código y no se utiliza el índice o más bien el contador en el bucle.

Ejemplo de para cada bucle:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

57) Explica el operador de diamantes.

El operador Diamond permite al compilador recopilar los argumentos de tipo de una clase genérica. En Java SE, el desarrollador puede sustituir el constructor parametrizado con un conjunto de parámetros vacío (<>) conocido como operador de diamante.


58) Explicar la interfaz de acceso aleatorio

Las implementaciones de Lista utilizan la interfaz RandomAccess para indicar que son compatibles con rapidez.


59) Nombra las clases de colección que implementan la interfaz de acceso aleatorio.

El paquete Java.util tiene clases que pueden implementar una interfaz de acceso aleatorio: CopyOnWriteArrayList, Stack, ArrayList y Vector.


60) ¿Cómo unir múltiples ArrayLists?

La lista proporciona un método addall() múltiple ArrayList en Java.

Por ejemplo, considere dos listas 1) areaList y 2) secondAreaList. Un desarrollador puede unirse a ellos usando addall() como:

areaList.addAll(segundaAreaList);


61) Explica la interfaz deque

Java.util.Deque es Java, una interfaz que extiende la interfaz Queue. Brinda soporte para la inserción y eliminación de elementos en ambos extremos. Esta cola también se llama double-Cola terminada.


62) Explica Linkedhashmap

LinkedHashMap es la implementación de la interfaz Map. También puede ampliar la clase HashMap. Por lo tanto, al igual que HashMap, LinkedHashMap permite a los desarrolladores de Java permitir una clave nula y más de un valor nulo.


63) Explicar métodos para eliminar elementos de ArrayList

Los métodos para eliminar elementos de ArrayList son:

Método Descripción
claro() Este método elimina los elementos de ArrayList.
eliminar (índice int) Este método de ArrayList puede eliminar el elemento en una posición particular.
eliminar (Objeto o) Puede eliminar la primera aparición del elemento de mención de ArrayList.
eliminar todo() Puede eliminar la lista de elementos que se encuentran en una colección particular.
removeIf(Predicado filtro) Este método elimina elementos que satisfacen la mención de un predicado.

64) Explica el mapa. entrada en el mapa

Map.entry es una interfaz Java de java.util. Tiene una interfaz anidada en Map. Esta interfaz debe estar calificada por el nombre de la clase o interfaz de la que es miembro. Por lo tanto se califica como Mapa. Entrada. Representa un par de clave y valor que puede formar un elemento de un mapa.

Este método devuelve una vista de la colección. Por ejemplo, considere cityMap como un mapa. El desarrollador puede usar EntrySet() para obtener la vista establecida del mapa que tiene un elemento Map.Entry. El programador también puede usar getKey() y getValue() de Map.Entry para obtener el par de clave y valor del mapa.


65) ¿Qué método se utiliza para ordenar una matriz en orden ascendente?

El método del marco de recopilación de Java, Collections.sort() se utiliza para ordenar una matriz en orden ascendente.


66) ¿Cómo medir el rendimiento de un ArrayList?

El rendimiento de ArrayList se puede medir mediante:

  • Añadiendo un elemento: El desarrollador puede agregar un elemento al final de ArrayList usando el método add(E e). Es O(1). En el peor de los casos, podría pasar a O(n). Esto puede suceder si el desarrollador agrega más elementos que la capacidad de la matriz.
  • Recuperando un elemento: El desarrollador puede acceder al índice de la matriz usando get(int index). El rendimiento, en este caso, se puede medir usando ArrayList get() es O(1).
  • Eliminando un elemento: En caso de que los desarrolladores estén eliminando elementos usando remove(int index), entonces el rendimiento de ArrayList se puede calcular usando dicha operación remove(int index) es el método O(n – index).

67) Explica la clase LinkedList

La clase LinkedList en Java implementa Deque y List utilizando una lista doblemente enlazada. Hay un nodo de clase privada en una lista doblemente enlazada que proporciona su estructura. También tiene una variable de elemento para contener el valor y la referencia a la clase Nodo. Esto se puede utilizar para conectar los nodos anterior y siguiente.


68) Da un ejemplo de Hashmap

El ejemplo de Hashmap es:

import java.util.HashMap;
import java.util.Map;
public class Sample_TestMaps{
  public static void main(String[] args){
    Map<String, String> objMap = new HashMap<String, String>();
    objMap.put("Name", "Suzuki");
    objMap.put("Power", "220");
    objMap.put("Type", "2-wheeler");
    objMap.put("Price", "85000");
    System.out.println("Elements of the Map:");
    System.out.println(objMap);
  }
}

69) ¿Cómo iterar el mapa?

El desarrollador no puede iterar directamente el mapa, pero esta interfaz tiene dos métodos que brindan un conjunto de vistas del mapa. Estos métodos son:

  • Establecer>entrySet(): Es un método que devuelve un conjunto que tiene las entradas mencionadas en el mapa. Estas entradas generalmente son objeto de objeción, que tiene tipo Mapa. Entrada.
  • EstablecerkeySet(): Este método Java devuelve un conjunto que tiene la clave del mapa.

70) Explicar Treemap en Java

TreeMap es una clase que implementa la interfaz Map LinkedHashMap y HashMap. También puede implementar la interfaz NavigableMap y puede extender la clase AbstractMap.


71) ¿Cuál es la diferencia entre Hashmap y Hashtable?

mapa hash Tabla de picadillo
No lo es synccronizado. Es synccronizado.
mapa hash permite una clave como valor nulo. HashTable no permite valores nulos.
Iterator se utiliza para atravesar HashMap. Se utiliza Iterador o Enumerador para atravesar una HashTable.
Se puede utilizar tanto para HashTable como para HashMap y es rápido. Se puede utilizar con HashTable y es a prueba de fallos.
HashMap funciona más rápido que HashTable. Hashtable no es mucho más rápido en comparación con HashMap.

72) Explica el funcionamiento interno de HashSet en Java.

HashSet en Java usa internamente HashMap para almacenar elementos. También puede almacenar valores únicos sin valores duplicados.

En Java, el desarrollador de HashSet puede tener el método add(E e) que toma solo el elemento a agregar como parámetro. No acepta el par clave y valor.


73) Explica la notación Big-O con un ejemplo.

La notación Big-O representa el rendimiento de un algoritmo como el número de elementos en ArrayList. Un desarrollador puede utilizar la notación Big-O para elegir la implementación de la colección. Se basa en el rendimiento, el tiempo y la memoria.

Por ejemplo, ArrayList get(index i) es un método para realizar una operación en tiempo constante. No depende del número total de elementos disponibles en la lista. Por lo tanto, el rendimiento en notación O grande es O(1).


74) Explique las mejores prácticas en Java Collection Framework.

Las mejores prácticas en Java Collection Framework son:

  • Elegir el tipo correcto de colección depende de la necesidad.
  • Evite repetir o cambiar el tamaño estimando el número total de elementos que se almacenarán en las clases de colección.
  • Escriba un programa Java en términos de interfaces. Esto ayudará al desarrollador a cambiar su implementación sin esfuerzo en el futuro.
  • Un desarrollador puede utilizar genéricos para la seguridad de tipos.
  • Utilice clases inmutables proporcionadas por el kit de desarrollo de Java. Evite la implementación de equals() y hashCode() para clases personalizadas.
  • Un programador debe usar la clase de utilidad Colecciones para algoritmos o para obtener solo lectura. synccolecciones cronizadas o vacías. Esto mejorará la reutilización del código con baja mantenibilidad.

75) Explica varios tipos de colas en Java.

Hay tres tipos de colas en Java:

  • cola de prioridad: Es un tipo especial de cola en el que los elementos se ordenan según su orden natural o comparador personalizado.
  • Cola circular: Es un tipo de Cola en la que las operaciones del usuario se realizan según el método FIFO. El último elemento se conecta a la primera posición para formar un círculo.
  • Double-Cola finalizada: A doubleLa cola terminada es un tipo de datos abstracto que generaliza una cola. Los elementos de esta cola se pueden agregar o eliminar tanto del principio como del final.

76) ¿Cuál es la diferencia entre pila y cola?

Apilar Cola
El principio de funcionamiento de la pila es LIFO. El principal de trabajo de la cola es FIFO.
Un extremo se utiliza para realizar la inserción o eliminación de elementos. Un extremo se utiliza para realizar la inserción y el otro extremo se utiliza para eliminar elementos.
Utiliza un puntero. Utiliza dos punteros en una cola simple.
No tiene ningún tipo de variante. Tiene variantes como cola prioritaria, cola circular, cola doble.
Es fácil de usar. No es fácil de usar.

77) ¿Cuál es la diferencia entre matriz y pila?

La diferencia entre matriz y pila es:

Formación Apilar
Es una colección de elementos que están identificados por el índice. Es una operación de recolección que sirve como operaciones push y pop.
Tiene elementos de tipos de datos que son los mismos. Tiene elementos de tipos de datos que son diferentes.
Los elementos se pueden eliminar o agregar a la matriz mediante una operación de acceso aleatorio. Los elementos se pueden eliminar o agregar a una pila mediante la operación LIFO.

78) Definir iterador()

Iterator() es una interfaz que proporciona métodos para iterar la Colección. Iterador puede reemplazar a la enumeración en Java. Permite a la persona que llama eliminar elementos de la colección. El método proporciona una forma genérica de recorrido utilizando elementos de la colección e implementando un patrón de diseño de iterador.


79) ¿Cuáles son las distintas formas de iterar sobre una lista?

El programador del marco de la colección Java puede iterar sobre una lista de dos maneras: 1) usando el iterador y 2) usándolo para cada uno. loops.


80) ¿Cuáles son las ventajas de la pila?

Las ventajas de la pila son:

  • Le ayuda a administrar los datos en un método Último en entrar, primero en salir (LIFO), lo cual no es posible con la lista vinculada y la matriz.
  • Cuando se llama a una función, las variables locales se almacenan en una pila y se destruye automáticamente una vez devuelta.
  • Se utiliza una pila cuando no se utiliza una variable fuera de esa función.
  • Le permite controlar cómo se asigna y desasigna la memoria.
  • Stack limpia automáticamente el objeto.
  • No se corrompe fácilmente
  • Variables no se puede cambiar el tamaño.

Estas preguntas de la entrevista también te ayudarán en tu viva(orals)