Aquí están las preguntas de la entrevista de las colecciones de Java para candidatos nuevos y experimentados para obtener el trabajo de sus sueños.
1) ¿Qué es el framework en Java?
Un marco es una arquitectura popular y lista para usar 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.
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, "envoltorios". Esta clase contiene métodos para algoritmos, como clasificación binaria, búsqueda, mezcla, etc.
4) ¿Qué es hashCode ()?
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 de Java.
Lista de arreglo | Vector |
ArrayList no se puede sincronizar. | El vector puede estar sincronizado. |
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?
ArrayList es una estructura de datos que se puede ampliar para acomodar elementos adicionales dentro de sí misma y reducirse a un tamaño más pequeño cuando se eliminan elementos. Es una estructura de datos muy importante útil para manejar el comportamiento dinámico de los elementos.
7) Diferenciar entre Iterator y ListIterator
La diferencia entre Iterator y ListIterator es:
Iterador | ListIterator |
El iterador puede atravesar los elementos de la matriz en la dirección de avance. | 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 List. |
Solo puede realizar la operación de eliminación. | Puede realizar operaciones de agregar, quitar 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 tanto legados como elementos no heredados. | La enumeración solo puede atravesar elementos heredados. |
El iterador es rápido. | 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 Iterator. |
El iterador puede realizar una operación de eliminación mientras recorre la colección. | La enumeración solo puede realizar una operación transversal en la colección. |
9) Definir BlockingQueue
BlockingQueue es una interfaz utilizada en Java que puede extender la cola. Proporciona simultaneidad en varias operaciones de cola como recuperación, inserción, eliminación, etc.
La cola espera a no estar 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 BlockingQueueextends Queue
10) Explique el método override equals ()
El método de iguales se utiliza para comprobar la similitud entre dos objetos. En caso de que el programador quiera verificar un objeto en función de la propiedad, debe anularlo.
11) ¿Cuál es la diferencia entre Comparable y Comparator?
La diferencia entre Comparable y Comparator 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. |
La interfaz comparable está presente en el paquete java.lang. | La interfaz del comparador está presente en java. paquete util. |
La lógica de clasificación debe estar en la misma clase cuyo objeto va a clasificar. | La lógica de la 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 clasificar 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 por calendario, clases de envoltura, 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 de Comparator implementadas son Collator y RuleBasedColator. |
12) Explique 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 están usando una clase genérica, no requieren encasillamiento.
- Es de tipo seguro 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 usando 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 al objeto List usando la sintaxis:
List_object.toArray(new String[List_object.size()])
15) Dar un 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 ArrayListArrayListarlTest = new ArrayList ();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.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) Dar 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 sortSystem.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) Explicar las interfaces básicas del marco de colecciones de Java.
El marco de la colección de Java es una raíz de la jerarquía de la colección. Representa un grupo de objetos como sus elementos. El lenguaje de programación Java no proporciona una implementación directa de dicha interfaz.
- Set: Set es una colección que no tiene elementos duplicados. Utiliza tabla hash para almacenar elementos.
- Lista: Lista es una colección ordenada que puede contener elementos duplicados. Permite a los desarrolladores acceder a cualquier elemento desde su bandeja de entrada. La lista es como una matriz que tiene una longitud dinámica.
- MAPA: Es un objeto que mapea 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?
Las características de Java Hashmap son:
- Los valores se pueden almacenar en un mapa formando un par clave-valor. El valor se puede recuperar usando la clave pasándolo al método correcto.
- Si no existe ningún elemento en el mapa, arrojará una 'NoSuchElementException'.
- HashMap almacena solo referencias a objetos. Por eso es imposible utilizar tipos de datos primitivos como double o int. En su lugar, use la clase contenedora (como Integer o Double).
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 de la lista Vinculada 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.
21) Dar un ejemplo de ArrayList
El ejemplo de ArrayList es:
import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayListarlTest = new ArrayList ();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.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 compatible con Java
Dos tipos de listas enlazadas compatibles con Java son:
- Lista enlazada individualmente: la lista enlazada individual 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 enlaza con el siguiente nodo y otro que se conecta al 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 |
boolean add (objeto) | Inserta el elemento especificado en la cola. Devuelve verdadero en caso de que sea un éxito. |
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 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 quita su encabezado. |
Vistazo de objeto () | Recupera los datos de la Cola pero no quita su encabezado, o en caso, si la Cola es la Cola está vacía, recuperará nulo. |
24) Mencione los métodos proporcionados por la clase Stack
Los métodos importantes proporcionados por la clase Stack son:
- push (): empuja el elemento hacia la pila.
- empty (): este método encuentra que si la pila está vacía o no.
- pop (): este método de marco de recopilación de Java elimina el objeto de la pila.
- search (): este método busca elementos en la pila.
- peek (): este método Java examina el objeto de la pila sin eliminarlo.
25) Defina emptySet () en el marco de colecciones de Java
Método emptySet () que devuelve el conjunto inmutable vacío cada vez que los programadores intentan eliminar elementos nulos. El conjunto que devuelve emptySet () es serializable. La sintaxis de este método es:
public static final
26) Diferenciar entre colección y colecciones
La diferencia entre Colección y Colecciones son:
Colección | 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 los 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 establecida. 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 fallas y a prueba de fallas?
Fallar rapido | A prueba de fallos |
No permite la modificación de la colección durante la iteración. | Permite la modificación de la colección mientras se itera. |
Puede lanzar ConcurrentModificationException | No puede lanzar ninguna excepción. |
Utiliza la colección original para atravesar los elementos. | Utiliza una copia de la colección original para atravesar los elementos. |
No se requiere memoria adicional. | Es necesario disponer de memoria adicional. |
29) Lista de vistas de colección 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 de 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 recopilación de Java es fácil de mantener.
- Un desarrollador puede mezclar clases con otros tipos que resulten en aumentar la reutilización del código.
- El marco de recopilación de Java permite a los programadores modificar los tipos de recopilación primitivos a su gusto.
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 de Java es mediante 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 que dependen de compare () de la interfaz del Comparador.
32) Explicar Vector en Java
El vector es el 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 Set y Map?
Colocar | 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 recopilación. |
No permite valores duplicados. | Permite valores duplicados. |
El conjunto solo puede ordenar un valor nulo. | El mapa puede ordenar varios valores nulos. |
34) Definir clase de diccionario
La clase Dictionary es una clase Java que tiene la capacidad de almacenar pares clave-valor.
35) Definir EnumSet
java.util.EnumSet es una implementación de Set que se puede usar 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 está sincronizado y tampoco se permiten claves nulas. EnumSet proporciona métodos como EnumSetof (E primero, E
... resto), complementoOf (EnumSet s) y copyOf (Colección c).36) ¿Cuáles son las dos formas de eliminar duplicados de ArrayList?
Dos formas de eliminar duplicados de ArrayList son:
- HashSet: el desarrollador puede usar HashSet para eliminar el elemento duplicado de ArrayList. El inconveniente es que no puede conservar el orden de inserción.
- LinkedHashSet: 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 Serializable, Clonable, Map y extiende la clase AbstractMap. Está diseñado para el caso en el que se necesita una semántica de igualdad de referencias.
38) ¿Qué es WeakHashMap?
WeakHashMap es una implementación del mapa de Java. 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 la colección sea segura son:
- Collections.synchronizedList (lista);
- Collections.synchronizedMap (mapa);
- Collections.synchronizedSet (conjunto);
40) Explica la excepción UnsupportedOperationException
UnsupportedOperationException es una excepción que se lanza 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 lanzar UnsupportedOperationException.
41) Nombra las clases de colección que dan acceso aleatorio a sus elementos.
Las clases de colección que dan acceso a elementos aleatorios a sus elementos son: 1) ArrayList, 2) HashMap, 3) TreeMap y 4) Hashtable.
42) Explique la diferencia entre Queue y Deque.
Cola | Deque |
Se llama cola de un solo extremo | Se llama cola de dos extremos. |
Los elementos de la cola se agregan o eliminan de un extremo | Los elementos en la cola se agregan desde cualquier extremo se pueden agregar y eliminar desde ambos extremos |
Es menos versátil. | Es más versátil. |
43) Mencione la implementación de la interfaz List and 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) Explica el patrón de diseño seguido por Iterador
El iterador sigue el detalle del patrón de diseño del iterador. Proporciona al desarrollador navegar a través de las colecciones de objetos utilizando una interfaz común sin conocer su implementación.
45) ¿Cuál es el peek () de la interfaz de cola?
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á un valor nulo.
46) ¿Qué es CopyOnWriteArrayList?
CopyOnWriteArrayList es una variante de ArrayList en la que operaciones como agregar y establecer se implementan creando una copia de la matriz. Es seguro para subprocesos y, por lo tanto, no lanza ConcurrentModificationException. Este ArrayLists permite todos los elementos, incluido null.
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 la 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 tanto el objeto como el objeto de la dirección; por lo tanto, requiere más sobrecarga de memoria. |
48) Explica los métodos de la interfaz del iterador.
Los métodos de la interfaz del iterador son:
Método | Descripción |
public boolean hasNext () | Devuelve verdadero en el iterador tiene elementos; de lo contrario, devuelve falso. |
objeto público siguiente () | Este método devuelve el elemento y mueve el puntero al siguiente valor. |
public void remove () | Este método Java puede eliminar los últimos elementos devueltos por el iterador. El vacío público 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 |
suma booleana (Objeto o) | Este método agrega el elemento de mención a este conjunto si aún no está presente. |
boolean contiene (Objeto o): | Devuelve verdadero si el conjunto contiene el elemento especificado. |
vacío claro (): | Este método elimina los elementos del conjunto. |
booleano isEmpty (): | Devuelve verdadero en el caso, el conjunto no tiene elementos. |
boolean remove (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. |
int tamaño (): | 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 | Descripciones |
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. |
booleano eliminar (Objeto o) | Elimina el elemento especificado del conjunto. |
añadir 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 conjunto de hash vinculado
La clase Java LinkedHashSet es una implementación de lista vinculada y tabla Hash de la interfaz Set. Contiene elementos únicos al igual que un HashSet. Linked HashSet en Java también proporciona operaciones de conjuntos opcionales que pueden mantener el orden de inserción.
52) ¿Cuáles son los métodos importantes que se utilizan en una lista enlazada?
Los métodos importantes utilizados en la lista vinculada son:
Método | Descripción |
suma 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. |
void add (int índice, elemento de objeto) | Inserta el elemento en el elemento especificado en el vector. |
void addFirst (Objeto o) | Se utiliza para insertar el elemento dado al principio. |
void addLast (Objeto o) | Se usa para agregar el elemento dado al final. |
Tamaño int () | Este método se puede utilizar para devolver el número total de elementos en una lista. |
booleano eliminar (Objeto o) | Puede eliminar la primera aparición del elemento especificado de esta lista. |
int indexOf (elemento de objeto) | Este método Java devuelve el índice con la primera aparición del elemento de mención en esta lista, o -1. |
int lastIndexOf (elemento de 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 métodos disponibles en la interfaz Java Queue
- boolean add (objeto)
- oferta booleana (objeto)
- objeto eliminar ()
- encuesta de objeto ()
- elemento de objeto ()
- mirada de objeto ()
55) Diferenciar entre List y Set.
Lista | Colocar |
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 cantidad de valores nulos | Solo 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 |
56) Explica cada ciclo con un ejemplo.
For-Each Loop es otra forma de bucle for que se utiliza para atravesar la matriz. Reduce el código significativamente y no se usa 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 loopSystem.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 loopfor (String strTemp : arrData){System.out.println(strTemp);}}}
57) Explique el operador de diamantes
El operador Diamond permite al compilador recopilar los argumentos de tipo de la 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) Explica la interfaz de acceso aleatorio
Las implementaciones de List utilizan la interfaz RandomAccess para indicar que están soportando rápidamente.
59) Nombra las clases de colección que implementan la interfaz de acceso aleatorio.
El paquete Java.util tiene clases que pueden implementar la interfaz de acceso aleatorio: CopyOnWriteArrayList, Stack, ArrayList y Vector.
60) ¿Cómo unir varias 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 (secondAreaList);
61) Explicar la interfaz deque
Java.util.Deque es Java, una interfaz que amplía la interfaz Queue. Da soporte para la inserción y eliminación de elementos tanto al final. Esta cola también se denomina cola de dos extremos.
62) Explica el Linkedhashmap
LinkedHashMap es la implementación de la interfaz Map. También puede extender 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) Explica los 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 en particular. |
removeIf (filtro de predicado super E>) | Este método elimina elementos que satisfacen la mención de un predicado. |
64) Explica el mapa. entrada en 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, está calificado como Mapa. Entrada. Representa un par de clave y valor que puede formar parte 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 de marco de recopilación de Java, Collections.sort () se utiliza para ordenar una matriz en orden ascendente.
66) ¿Cómo medir el rendimiento de una ArrayList?
El rendimiento de ArrayList se puede medir mediante:
- Agregar 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 del arreglo.
- 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).
- Eliminación de un elemento: en caso de que los desarrolladores eliminen un elemento usando el método 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) Explicar la clase LinkedList
La clase LinkedList en Java implementa Deque y List usando 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 siguientes y anteriores.
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){MapobjMap = new HashMap ();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:
- Set
> entrySet (): Es un método que devuelve un conjunto que tiene las entradas mencionadas en el mapa. Estas entradas son generalmente objetadas, que tienen el tipo Map. Entrada. - Set
keySet (): este método Java devuelve un conjunto que tiene la clave del mapa.
70) Explicar el mapa de árbol en Java
TreeMap es una clase que implementa la interfaz de mapa 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?
Hashmap | Tabla de picadillo |
No está sincronizado. | Está sincronizado. |
HashMap permite una clave como valor nulo. | HashTable no permite valores nulos. |
El iterador se usa para recorrer HashMap. | Se usa Iterator o Enumerator para atravesar una HashTable. |
Se puede usar tanto para HashTable como para HashMap y es rápido en fallas. | Se puede usar con HashTable y es a prueba de fallas. |
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 utiliza internamente HashMap para almacenar elementos. También puede almacenar valores únicos sin valores duplicados.
En Java, el desarrollador de HashSet puede tener un método add (E e) que toma solo el elemento para 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 describe el rendimiento de un algoritmo como el número de elementos en ArrayList. Un desarrollador puede usar 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 de tiempo constante. No depende del número total de elementos disponibles en la lista. Por lo tanto, el rendimiento en notación Big-O es O (1).
74) Explica 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.
- Escribe 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 colecciones de solo lectura, sincronizadas o vacías. Esto mejorará la reutilización del código con un bajo mantenimiento.
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 en base al método FIFO. El último elemento está conectado a la primera posición para hacer un círculo.
- Cola de dos extremos: una cola de dos extremos es un tipo de datos abstracto que generaliza una cola. Los elementos de esta cola se pueden agregar o eliminar de la cabeza o de la cola.
76) ¿Cuál es la diferencia entre pila y cola?
Apilar | Cola |
El principio de funcionamiento de la pila es LIFO. | El principio de funcionamiento de la cola es FIFO. |
Un extremo se utiliza para realizar la inserción o eliminación de elementos. | Un extremo se usa para realizar la inserción y el otro extremo se usa para la eliminación de elementos. |
Utiliza un puntero. | Utiliza dos punteros en una cola simple. |
No tiene ningún tipo de variante. | Tiene variantes como cola de prioridad, cola circular, cola doblemente terminada. |
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 identificados por el índice. | Es una operación de cobranza que sirven como operaciones push y pop. |
Tiene elementos de tipos de datos que son iguales. | Tiene elementos de tipos de datos que son diferentes. |
Los elementos se pueden eliminar o agregar a la matriz mediante la operación de acceso aleatorio. | Los elementos se pueden quitar o agregar a una pila usando la operación LIFO. |
78) Definir iterador ()
Iterator () es una interfaz que proporciona métodos para iterar Collection. El iterador puede tomar el lugar de 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 el patrón de diseño del iterador.
79) ¿Cuáles son las diversas formas de iterar sobre una lista?
El programador de Java Collection Framework puede iterar sobre una lista de dos maneras: 1) usando el iterador y 2) usándolo para cada ciclo.
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 Last In First Out (LIFO), que no es posible con la lista y matriz vinculadas.
- Cuando se llama a una función, las variables locales se almacenan en una pila y se destruyen automáticamente una vez que se devuelven.
- Se usa una pila cuando una variable no se usa 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
- No se puede cambiar el tamaño de las variables.