Aqui estão as perguntas da entrevista das coleções Java para candidatos mais novos e experientes para conseguir o emprego dos sonhos.
1) O que é framework em Java?
Uma estrutura é uma arquitetura popular e pronta que contém um conjunto de classes e interfaces.
2) O que é o framework Collection em Java?
Collection Framework é um agrupamento de classes e interfaces usadas para armazenar e gerenciar os objetos. Ele fornece várias classes como Vector, ArrayList, HashSet, Stack, etc. O framework Java Collection também pode ser usado para interfaces como Queue, Set, List, etc.
3) Explique a classe de coleções
java.util.Collections é uma classe que consiste em métodos estáticos que operam em coleções. Ele contém algoritmos polimórficos para operar em coleções, "invólucros". Esta classe contém métodos para algoritmos, como classificação binária, pesquisa, embaralhamento, etc.
4) Qual é o hashCode ()?
O hashCode () é um método que retorna um código hash inteiro.
5) Distinguir entre ArrayList e Vector na estrutura de coleção Java.
ArrayList | Vetor |
ArrayList não pode ser sincronizado. | O vetor pode ser sincronizado. |
Não é uma classe legada. | É uma classe legada. |
Ele pode aumentar seu tamanho em 50% do tamanho da matriz. | Ele pode aumentar seu tamanho dobrando o tamanho da matriz. |
ArrayList não é seguro para threads. | O vetor é um thread-safe. |
6) O que é ArrayList em Java?
ArrayList é uma estrutura de dados que pode ser esticada para acomodar elementos adicionais dentro de si mesma e diminuir para um tamanho menor quando os elementos são removidos. É uma estrutura de dados muito importante, útil para lidar com o comportamento dinâmico dos elementos.
7) Diferencie entre Iterator e ListIterator
A diferença entre Iterator e ListIterator é:
Iterator | ListIterator |
O Repetidor pode percorrer os elementos da matriz na direção para frente. | ListIterator pode percorrer os elementos da matriz nas direções para trás e para frente. |
Ele pode ser usado em Fila, Lista e Conjunto. | Ele pode ser usado em List. |
Ele pode realizar apenas a operação de remoção. | Ele pode realizar operações de adição, remoção e definição ao percorrer a coleção. |
8) Qual é a diferença entre Iterator e Enumeration?
A diferença entre Iterator e Enumeration
Iterator | Enumeração |
O Iterator pode atravessar tanto elementos legados quanto não legados. | A enumeração pode atravessar apenas elementos legados. |
O Repetidor é rápido contra falhas. | A enumeração não é rápida. |
O Iterator é muito lento em comparação com a Enumeração. | A enumeração é rápida em comparação com o Iterator. |
O Agente Iterativo pode executar a operação de remoção enquanto percorre a coleção. | A Enumeração pode realizar apenas a operação transversal na coleção. |
9) Definir BlockingQueue
BlockingQueue é uma interface usada em Java que pode estender a Queue. Ele fornece simultaneidade em várias operações de fila, como recuperação, inserção, exclusão, etc.
A Fila espera para se tornar não vazia no momento de recuperar quaisquer elementos. BlockingQueue não deve conter elementos nulos. A implementação desta Fila é segura para threads.
A sintaxe de BlockingQueue é:
public interface BlockingQueueextends Queue
10) Explique o método equals () de substituição
O método equals é usado para verificar a semelhança entre dois objetos. Caso o programador queira verificar um objeto baseado na propriedade, então ele precisa ser sobrescrito.
11) Qual é a diferença entre Comparable e Comparator?
A diferença entre Comparable e Comparator é:
Comparável | Comparador |
Comparable fornece o método compareTo () para classificar elementos em Java. | Comparator fornece o método compare () para classificar elementos em Java. |
Interface comparável está presente no pacote java.lang. | A interface de comparação está presente em java. pacote util. |
A lógica de classificação deve estar na mesma classe cujo objeto você irá classificar. | A lógica de classificação deve estar em uma classe separada para escrever diferentes classificações com base em diferentes atributos de objetos. |
A classe cujos objetos você deseja classificar deve implementar a interface comparável. | A classe cujos objetos você deseja classificar não precisa implementar uma interface de comparação. |
Ele fornece sequências de classificação simples. | Ele fornece várias sequências de classificação. |
Este método pode classificar os dados de acordo com a ordem de classificação natural. | Este método classifica os dados de acordo com a ordem de classificação personalizada. |
Isso afeta a classe original. ou seja, a classe real é alterada. | Não afeta a classe original, ou seja, a classe real não é alterada. |
Implementado frequentemente na API por Calendar, Wrapper classes, Date e String. | Ele é implementado para classificar instâncias de classes de terceiros. |
Todas as classes wrapper e String implementam a interface comparável. | As únicas classes implementadas de Comparator são Collator e RuleBasedColator. |
12) Explique equals () com exemplo
Equals () verifica se o objeto de número é igual ao objeto, que é passado como um argumento ou não.
A sintaxe do método equals () é:
public boolean equals(Object o)
Este método leva dois parâmetros 1) qualquer objeto, 2) valor de retorno. Ele retorna verdadeiro se o argumento passado não for nulo e for um objeto de tipo semelhante com o mesmo valor numérico.
Exemplo:
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) Liste os benefícios da coleção genérica
Os benefícios de usar a coleção genérica são:
- Se os programadores estão usando uma classe genérica, eles não exigem conversão de tipos.
- É seguro para tipos e pode ser verificado no momento da compilação.
- Ele fornece a estabilidade do código ao detectar o bug no momento da compilação.
14) Explique o método para converter ArrayList em Array e Array em ArrayList
Os programadores podem converter um Array em ArrayList usando o método asList () da classe Arrays. É um método estático da classe Arrays que aceita o objeto List. A sintaxe do método asList () é:
Arrays.asList(item)
Os programadores Java podem converter ArrayList no objeto List usando a sintaxe:
List_object.toArray(new String[List_object.size()])
15) Dê um exemplo de ArrayList
O exemplo de ArrayList reverso é:
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) Dê um exemplo para classificar uma matriz em ordem decrescente
O exemplo de classificação de uma matriz em ordem decrescente é:
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 as interfaces básicas do framework de coleções Java
A estrutura de coleção Java é a raiz da hierarquia de coleção. Ele representa um grupo de objetos como seus elementos. A linguagem de programação Java não fornece uma implementação direta de tal interface.
- Set: Set é uma coleção sem elementos duplicados. Ele usa hashtable para armazenar elementos.
- Lista: a lista é uma coleção ordenada que pode conter elementos duplicados. Ele permite que os desenvolvedores acessem qualquer elemento de sua caixa de entrada. A lista é como um array de comprimento dinâmico.
- MAP: É um objeto que mapeia chaves para valores. Não pode conter chaves duplicadas. Cada chave pode ser mapeada para pelo menos um valor.
18) Quais são os recursos do Java Hashmap?
Os recursos do Java Hashmap são:
- Os valores podem ser armazenados em um mapa, formando um par de valores-chave. O valor pode ser recuperado usando a chave, passando-o para o método correto.
- Se nenhum elemento existir no mapa, ele lançará uma 'NoSuchElementException'.
- HashMap armazena apenas referências de objeto. É por isso que é impossível usar tipos de dados primitivos como double ou int. Use a classe wrapper (como Integer ou Double).
19) O que é uma pilha?
Uma pilha é uma área especial da memória do computador que armazena variáveis temporárias criadas por uma função. Na pilha, as variáveis são declaradas, armazenadas e inicializadas durante o tempo de execução.
20) O que é lista vinculada?
Uma lista vinculada é uma estrutura de dados que pode armazenar uma coleção de itens. Em outras palavras, as listas vinculadas podem ser utilizadas para armazenar vários objetos do mesmo tipo. Cada unidade ou elemento da lista é referido como um nó. Um nó na lista vinculada tem seus dados e o endereço do próximo nó. É como uma corrente. Listas vinculadas são usadas para criar gráficos e árvores.
21) Dê um exemplo de ArrayList
O exemplo de ArrayList é:
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) Explique a lista vinculada compatível com Java
Dois tipos de lista vinculada compatíveis com Java são:
- Lista Singly Linked: Lista Singly Linked é um tipo de estrutura de dados. Em uma lista unida individualmente, cada nó na lista armazena o conteúdo do nó e uma referência ou ponteiro para o próximo nó na lista. Ele não armazena nenhuma referência ou ponteiro para o nó anterior.
- Listas duplamente vinculadas: as listas duplamente vinculadas são um tipo especial de lista vinculada em que a travessia entre os elementos de dados pode ser feita em ambas as direções. Isso é possível tendo dois links em cada nó, um que se conecta ao próximo nó e outro que se conecta ao nó anterior.
23) Explique os métodos fornecidos pela interface Queue?
Os métodos da interface Java Queue são:
Método | Descrição |
boolean add (objeto) | Insere o elemento especificado na Fila. Ele retorna verdadeiro caso seja um sucesso. |
oferta booleana (objeto) | Este método é usado para inserir o elemento na Fila. |
Remover objeto () | Ele recupera e remove o cabeçote da fila. |
Pesquisa de objeto () | (): Recupera e remove o cabeçote da fila ou retorna nulo caso esteja vazio. |
Pesquisa de objeto () | Ele recupera e remove o cabeçalho da fila ou retorna nulo no caso de estar vazio. |
Elemento de objeto () | Recupera os dados da Fila, mas não remove sua cabeça. |
Objeto peek () | Recupera os dados da Fila, mas não remove sua cabeça, ou caso, se a Fila estiver vazia, ela recuperará o nulo. |
24) Mencione os métodos fornecidos pela classe Stack
Métodos importantes fornecidos pela classe Stack são:
- push (): Empurra o item para a pilha.
- empty (): Este método descobre se a pilha está vazia ou não.
- pop (): Este método de estrutura de coleção Java remove o objeto da pilha.
- search (): Este método pesquisa itens na pilha.
- peek (): Este método Java examina o objeto de pilha sem removê-lo.
25) Defina emptySet () na estrutura de coleções Java
Método emptySet () que retorna o conjunto imutável vazio sempre que os programadores tentam remover elementos nulos. O conjunto retornado por emptySet () é serializável. A sintaxe deste método é:
public static final
26) Diferencie entre coleção e coleções
A diferença entre Coleção e Coleções são:
Coleção | Coleções |
A coleção é uma interface. | Coleções são uma classe. |
Ele representa um grupo de objetos como uma entidade única. | Ele define vários métodos utilitários para objetos de coleção. |
A coleção é a interface raiz da estrutura Java Collection. | Coleções é uma classe de utilidade geral. |
Essa interface é usada para derivar as estruturas de dados de coleta. | Esta classe contém métodos estáticos para manipular a estrutura de dados. |
27) Definir LinkedHashSet no framework Java Collection?
LinkedHashSet é uma subclasse da classe chamada HashSet e implementa a interface definida. É uma versão bem ordenada de HashSet que mantém uma lista duplamente vinculada em todos os seus elementos.
28) Qual é a diferença entre failfast e failafe?
Failfast | Failsafe |
Não permite a modificação da coleção durante a iteração. | Ele permite a modificação da coleção durante a iteração. |
Ele pode lançar ConcurrentModificationException | Não pode lançar nenhuma exceção. |
Ele usa a coleção original para percorrer os elementos. | Ele usa uma cópia da coleção original para percorrer os elementos. |
Não há necessidade de memória extra. | Existe um requisito de memória extra. |
29) Lista de visualizações de coleção de uma interface de mapa
As visualizações de coleção da interface do mapa são: 1) visualização do conjunto de chaves, 2) visualização do conjunto de valores e 3) visualização do conjunto de entrada.
30) Quais são os benefícios do Collection Framework em Java?
Os benefícios do Collection Framework em Java são:
- A estrutura de coleta Java oferece estruturas de dados altamente eficientes e eficazes que aumentam a precisão e a velocidade do programa.
- O programa desenvolvido com a estrutura de coleção Java é fácil de manter.
- Um desenvolvedor pode misturar classes com outros tipos que resultam no aumento da capacidade de reutilização do código.
- A estrutura de coleção Java permite que os programadores modifiquem os tipos de coleção primitiva da maneira que quiserem.
31) Qual é uma boa maneira de classificar os objetos Collection em Java?
Uma boa maneira de classificar objetos de coleção Java é usar as interfaces Comparable e Comparator. Um desenvolvedor pode usar Collections.sort (), os elementos são classificados com base na menção do pedido em compareTo ().
Quando um desenvolvedor usa Coleções, classificar (Comparador), ele classifica os objetos dependendo de compare () da interface do Comparador.
32) Explique o vetor em Java
O vetor é igual a uma matriz. Possui componentes que podem ser acessados por meio de um valor de índice. Os vetores podem conter um método legado que não faz parte da estrutura da coleção.
33) Qual é a diferença entre Set e Map?
Definir | Mapa |
Set pertence a package-java.util. | O mapa pertence a package- java.util. |
Ele pode estender a interface de coleção. | Não estende a interface de coleção. |
Não permite valores duplicados. | Ele permite valores duplicados. |
Set pode classificar apenas um valor nulo. | O mapa pode classificar vários valores nulos. |
34) Definir classe de dicionário
A classe Dictionary é uma classe Java que tem a capacidade de armazenar pares de valores-chave.
35) Definir EnumSet
java.util.EnumSet é uma implementação de conjunto que pode ser usada com tipos enum. EnumSet com todos os elementos deve vir de um tipo de enum especificado explicitamente ou implicitamente. Não é sincronizado e também chaves nulas não são permitidas. EnumSet fornece métodos como EnumSetof (E primeiro, E
… Rest), complementOf (EnumSet s) e copyOf (Coleção c).36) Quais são as duas maneiras de remover duplicatas de ArrayList?
Duas maneiras de remover duplicatas de ArrayList são:
- HashSet: o desenvolvedor pode usar o HashSet para remover o elemento duplicado do ArrayList. A desvantagem é que não pode preservar o pedido de inserção.
- LinkedHashSet: os desenvolvedores também podem manter a ordem de inserção usando LinkedHashSet em vez de HashSet.
37) O que é IdentityHashMap?
IdentityHashMap é uma classe que implementa interfaces Serializable, Clonable, Map e estende a classe AbstractMap. Ele é projetado para o caso em que há uma necessidade de semântica de igualdade de referência.
38) O que é WeakHashMap?
WeakHashMap é uma implementação do Mapa Java. É usado para armazenar referências fracas para suas chaves. A classificação usando este mapa permite que um par de valores-chave seja coletado como lixo. Sua chave não é referenciada fora de WeakHashMap.
39) Quais são os métodos para tornar a coleção thread-safe?
Os métodos para tornar o thread de coleta seguro são:
- Collections.synchronizedList (lista);
- Collections.synchronizedMap (mapa);
- Collection.synchronizedSet (set);
40) Explique UnsupportedOperationException
UnsupportedOperationException é uma exceção que é lançada em métodos que não são suportados pelo tipo de coleção real.
Por exemplo, o Developer está criando uma lista somente leitura usando "Collections.unmodifiableList (list)" e chamando o método call (), add () ou remove (). Ele deve lançar claramente UnsupportedOperationException.
41) Nomeie as classes de coleção que dão acesso ao elemento aleatório aos seus elementos
As classes de coleção que fornecem acesso ao elemento aleatório a seus elementos são: 1) ArrayList, 2) HashMap, 3) TreeMap e 4) Hashtable.
42) Explique a diferença entre Queue e Deque.
Fila | Deque |
É chamada de fila de terminação única | É chamada de fila dupla. |
Os elementos da fila são adicionados ou removidos de uma extremidade | Os elementos na fila são adicionados de qualquer extremidade e podem ser adicionados e removidos de ambas as extremidades |
É menos versátil. | É mais versátil. |
43) Mencione a lista de implementação e interface de conjunto
Classe que implementa a interface List: 1) ArrayList, 2) Vector e 3) LinkedList.
Classe que implementa a interface Set: 1) HashSet e 2) TreeSet.
44) Explique o padrão de design seguido por Iterator
O iterador segue os detalhes do padrão de design do iterador. Ele permite que o desenvolvedor navegue pelas coleções de objetos usando uma interface comum sem saber sua implementação.
45) Qual é o peek () da interface Queue?
Peek () é um método de interface de fila. Ele recupera todos os elementos, mas não remove o cabeçalho da fila. Caso a Queue esteja vazia, este método retornará null.
46) O que é CopyOnWriteArrayList?
CopyOnWriteArrayList é uma variante de ArrayList na qual operações como adicionar e definir são implementadas criando uma cópia da matriz. É um thread-safe e, portanto, não lança ConcurrentModificationException. Este ArrayLists permite todos os elementos, incluindo null.
47) Diferencie entre ArrayList e LinkedList
A diferença entre ArrayList e LinkedList é:
ArrayList | LinkedList |
Ele usa uma matriz dinâmica. | Ele usa uma lista duplamente vinculada. |
ArrayList não é preferível para manipulação. | LinkedList é preferível para manipulação. |
ArrayList fornece acesso aleatório. | LinkedList não fornece acesso aleatório. |
ArrayList s armazena apenas objetos, portanto, leva menos sobrecarga de memória | LinkedList armazena objeto, bem como objeto de endereço; portanto, é preciso mais sobrecarga de memória. |
48) Explique os métodos de interface do iterador
Os métodos da interface do iterador são:
Método | Descrição |
public boolean hasNext () | Ele retorna verdadeiro no iterador tem elementos; caso contrário, retorna falso. |
próximo objeto público () | Este método retorna o elemento e move o ponteiro para o próximo valor. |
public void remove () | Este método Java pode remover os últimos elementos retornados pelo iterador. Public void remove () é menos usado. |
49) Quais são os métodos da classe HashSet?
Os métodos da classe HashSet são:
Métodos | Descrição |
boolean add (Object o) | Este método adiciona o elemento de menção a este conjunto, se ainda não estiver presente. |
boolean contém (Object o): | Ele retorna verdadeiro se o conjunto contém o elemento especificado. |
void clear (): | Este método remove os elementos do conjunto. |
boolean isEmpty (): | Ele retorna verdadeiro no caso, o conjunto não possui elementos. |
boolean remove (Object o): | Ele remove o elemento especificado do conjunto. |
objeto clone (): | Este método retorna uma cópia da instância HashSet: os próprios elementos não são clonados. |
iterador iterador () | Ele retorna um iterador sobre os elementos neste conjunto. |
tamanho interno (): | Ele retorna o número de elementos disponíveis no conjunto. |
50) Quais são os métodos da classe Java TreeSet?
Os métodos da classe Java TreeSet são:
Métodos | Descrições |
boolean addAll (coleção c) | Adicione todos os elementos da coleção especificada a este conjunto. |
boolean contém (objeto o) | Retorna verdadeiro se o conjunto contiver o elemento de menção. |
boolean isEmpty () | Este método Java retorna verdadeiro se este conjunto não contém elementos. |
boolean remove (objeto o) | Remova o elemento especificado do conjunto. |
void add (Object o) | Ele adiciona o elemento especificado ao conjunto. |
void clear () | Este método Java remove todos os elementos do conjunto. |
51) Explicar HashSet vinculado
A classe Java LinkedHashSet é uma lista vinculada e uma implementação de tabela Hash da interface Set. Ele contém elementos exclusivos iguais a um HashSet. HashSet vinculado em Java também fornece operações de conjunto opcionais que podem manter a ordem de inserção.
52) Quais são os métodos importantes usados em uma lista vinculada?
Os métodos importantes usados na lista vinculada são:
Método | Descrição |
boolean add (Object o) | É usado para anexar o elemento especificado ao final do vetor. |
boolean contém (objeto o) | É um método que retorna verdadeiro se esta lista contiver o elemento especificado. |
void add (int index, Object element) | Insere o elemento no elemento especificado no vetor. |
void addFirst (Object o) | É usado para inserir o elemento fornecido no início. |
void addLast (Object o) | É usado para anexar o elemento fornecido ao final. |
Tamanho interno () | Este método pode ser usado para retornar o número total de elementos em uma lista. |
boolean remove (objeto o) | Ele pode remover a primeira ocorrência do elemento especificado desta lista. |
int indexOf (elemento Object) | Este método Java retorna o índice com a primeira ocorrência do elemento de menção nesta lista, ou -1. |
int lastIndexOf (elemento Object) | É um método Java que retorna o índice com a última ocorrência do elemento especificado nesta lista, ou -1. |
53) Liste as várias classes disponíveis em conjuntos
As várias classes disponíveis em conjuntos são: HashSet, TreeSetand e LinkedHashSet.
54) Liste os métodos disponíveis na interface Java Queue
- boolean add (objeto)
- oferta booleana (objeto)
- remover objeto ()
- pesquisa de objeto ()
- elemento de objeto ()
- objeto peek ()
55) Diferencie entre lista e conjunto.
Lista | Definir |
Uma coleção ordenada de elementos | Uma coleção não ordenada de elementos |
Preserva o pedido de inserção | Não preserva o pedido de inserção |
Valores duplicados são permitidos | Valores duplicados não são permitidos |
Qualquer número de valores nulos pode ser armazenado | Apenas um valor nulo pode ser armazenado |
ListIterator pode ser usado para percorrer a lista em qualquer direção | ListIterator não pode ser usado para percorrer um conjunto |
Contém uma classe legada chamada vetor | Não contém nenhuma classe legada |
56) Explique para cada loop com exemplo
For-Each Loop é outra forma de loop for usado para percorrer o array. Isso reduz o código significativamente e não há uso do índice ou melhor, do contador no loop.
Exemplo de para cada loop:
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 o operador de diamante
O operador Diamond permite que o compilador colete os argumentos de tipo da classe genérica. Em Java SE, o desenvolvedor pode substituir o construtor parametrizado por um conjunto de parâmetros vazio (<>) conhecido como operador diamante.
58) Explique a interface randomaccess
A interface RandomAccess é usada pelas implementações de List para a indicação de que elas oferecem suporte rápido.
59) Nomeie as classes de coleção que implementam a interface de acesso aleatório
O pacote Java.util possui classes que podem implementar a interface de acesso aleatório são: CopyOnWriteArrayList, Stack, ArrayList e Vector.
60) Como juntar vários ArrayLists?
A lista fornece um método addall () para vários ArrayList em Java.
Por exemplo, considere duas listas 1) areaList e 2) secondAreaList. Um desenvolvedor pode se juntar a eles usando addall () como:
areaList.addAll (secondAreaList);
61) Explique a interface deque
Java.util.Deque é Java, uma interface que estende a interface Queue. Ele dá suporte para a inserção e exclusão de elementos em ambas as extremidades. Essa fila também é chamada de fila dupla.
62) Explicar Linkedhashmap
LinkedHashMap é a implementação da interface Map. Ele também pode estender a classe HashMap. Portanto, como o HashMap, o LinkedHashMap permite que os desenvolvedores Java permitam uma chave nula e mais de um valor nulo.
63) Explique os métodos para remover elementos de ArrayList
Os métodos para remover elementos de ArrayList são:
Método | Descrição |
Claro() | Este método remove os elementos de ArrayList. |
remover (índice interno) | Este método de ArrayList pode remover o elemento em uma posição específica. |
remover (objeto o) | Ele pode remover a primeira ocorrência do elemento de menção do ArrayList. |
deletar tudo() | Ele pode remover a lista de elementos que estão em uma coleção específica. |
removeIf (filtro de predicado super E>) | Este método remove os elementos que satisfazem a menção de um predicado. |
64) Explique o mapa. entrada no mapa
Map.entry é uma interface Java de java.util. Possui uma interface aninhada no Mapa. Essa interface deve ser qualificada pelo nome da classe ou interface da qual é membro. Portanto, é qualificado como um mapa. Entrada. Ele representa um par de chave e valor que pode formar o elemento de um Mapa.
Este método retorna uma visão da coleção. Por exemplo, considere cityMap como um mapa. O desenvolvedor pode usar entrySet () para obter a visualização definida do mapa com um elemento Map.Entry. O programador também pode usar getKey () e getValue () do Map.Entry para obter o par de chave e valor do mapa.
65) Qual método é usado para classificar uma matriz em ordem crescente?
O método de estrutura de coleção Java, Collections.sort (), é usado para classificar uma matriz em ordem crescente.
66) Como medir o desempenho de um ArrayList?
O desempenho de ArrayList pode ser medido por:
- Adicionando um elemento: o desenvolvedor pode adicionar um elemento no final de ArrayList usando o método add (E e). É O (1). No pior cenário, pode ir para O (n). Isso pode acontecer se o desenvolvedor adicionar mais elementos do que a capacidade do array.
- Recuperando um elemento : - O desenvolvedor pode acessar o índice da matriz usando get (int index). O desempenho, neste caso, pode ser medido usando ArrayList get () is O (1).
- Removendo um elemento: No caso, se os desenvolvedores estão removendo o elemento usando o remove (índice int), então o desempenho de ArrayList pode ser calculado usando a operação de remoção (índice interno) é O (n - índice) método.
67) Explique a classe LinkedList
A classe LinkedList em Java implementa Deque and List usando uma lista duplamente vinculada. Há um nó de classe privada em uma lista duplamente vinculada que fornece sua estrutura. Ele também possui uma variável de item para armazenar o valor e a referência à classe Node. Isso pode ser usado para conectar os nós anteriores e seguintes.
68) Dê um exemplo de Hashmap
O exemplo de Hashmap é:
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) Como iterar o mapa?
O desenvolvedor não pode iterar diretamente o mapa, mas esta interface possui dois métodos que fornecem o conjunto de visualização do mapa. Esses métodos são:
- Set
> entrySet (): É um método que retorna um conjunto contendo as entradas mencionadas no mapa. Essas entradas são geralmente contestadas, que tem tipo Mapa. Entrada. - Set
keySet (): Este método Java retorna um conjunto que possui a chave do mapa.
70) Explique o Treemap em Java
TreeMap é uma classe que implementa a interface de mapa LinkedHashMap e HashMap. Ele também pode implementar a interface NavigableMap e estender a classe AbstractMap.
71) Qual é a diferença entre Hashmap e Hashtable?
Hashmap | Hashtable |
Não está sincronizado. | Ele está sincronizado. |
O HashMap permite uma chave como valor nulo. | HashTable não permite valores nulos. |
Iterator é usado para percorrer o HashMap. | Iterator ou Enumerator é usado para percorrer um HashTable. |
Ele pode ser usado para HashTable e HashMap e é rápido para falhas. | Ele pode ser usado com HashTable e é à prova de falhas. |
O HashMap é executado mais rápido do que o HashTable. | Hashtable não é muito mais rápido em comparação com HashMap. |
72) Explique o funcionamento interno do HashSet em Java
HashSet em Java usa HashMap internamente para armazenar elementos. Ele também pode armazenar valores exclusivos sem valores duplicados.
Em Java, o desenvolvedor de HashSet pode ter o método add (E e) que leva apenas o elemento a ser adicionado como parâmetro. Ele não aceita o par de chave e valor.
73) Explique a notação Big-O com um exemplo
A notação Big-O descreve o desempenho de um algoritmo como o número de elementos em ArrayList. Um desenvolvedor pode usar a notação Big-O para escolher a implementação da coleção. Baseia-se no desempenho, tempo e memória.
Por exemplo, ArrayList get (índice i) é um método para realizar uma operação de tempo constante. Não depende do número total de elementos disponíveis na lista. Portanto, o desempenho na notação Big-O é O (1).
74) Explicar as melhores práticas no Java Collection Framework
As melhores práticas no Java Collection Framework são:
- A escolha do tipo correto de coleta depende da necessidade.
- Evite refazer o hash ou redimensionar estimando o número total de elementos a serem armazenados nas classes de coleção.
- Escreva um programa Java em termos de interfaces. Isso ajudará o desenvolvedor a mudar sua implementação sem esforço no futuro.
- Um desenvolvedor pode usar Genéricos para segurança de tipo.
- Use classes imutáveis fornecidas pelo Java Development Kit. Evite a implementação de equals () e hashCode () para classes personalizadas.
- Um programador deve usar a classe de utilitário Coleções para algoritmos ou para obter coleções somente leitura, sincronizadas ou vazias. Isso aumentará a capacidade de reutilização do código com baixa manutenção.
75) Explique vários tipos de filas em Java
Existem três tipos de filas em Java:
- Fila de prioridade: é um tipo especial de fila em que os elementos são classificados de acordo com sua ordem natural ou comparador personalizado.
- Fila Circular: É um tipo de Fila em que as operações do usuário são realizadas com base no método FIFO. O último elemento é conectado à primeira posição para fazer um círculo.
- Fila de extremidade dupla : Uma fila de extremidade dupla é um tipo de dados abstrato que generaliza uma fila. Os elementos nesta fila podem ser adicionados ou removidos da cabeça ou da cauda.
76) Qual é a diferença entre pilha e fila?
Pilha | Fila |
O princípio de funcionamento da pilha é LIFO. | O princípio de trabalho da fila é FIFO. |
Uma extremidade é usada para realizar a inserção ou exclusão de elementos. | Uma extremidade é usada para realizar a inserção e a outra extremidade é usada para a exclusão de elementos. |
Ele usa um ponteiro. | Ele usa dois ponteiros em uma fila simples. |
Não possui nenhum tipo de variante. | Tem variantes como fila de prioridade, fila circular e fila duplamente terminada. |
É fácil de usar. | Não é fácil de usar. |
77) Qual é a diferença entre array e stack?
A diferença entre array e stack é:
Variedade | Pilha |
É uma coleção de elementos identificados pelo índice. | É uma operação de coleta que serve como operações push e pop. |
Possui elementos de tipos de dados que são iguais. | Possui elementos de tipos de dados que são diferentes. |
Os elementos podem ser removidos ou adicionados ao array usando a operação de acesso aleatório. | Os elementos podem ser removidos ou adicionados a uma pilha usando a operação LIFO. |
78) Definir Iterator ()
O Iterator () é uma interface que fornece métodos para iterar a coleção. O iterador pode substituir a enumeração em Java. Ele permite que o chamador remova elementos da coleção. O método fornece uma maneira genérica de travessia usando elementos da coleção e implementando o padrão de design do iterador.
79) Quais são as várias maneiras de iterar em uma lista?
O programador do Java Collection Framework pode iterar em uma lista de duas maneiras: 1) Usando o iterador e 2) usando-o para cada loop.
80) Quais são as vantagens da pilha?
As vantagens da pilha são:
- Ele ajuda você a gerenciar os dados em um método Last In First Out (LIFO), o que não é possível com a lista vinculada e a matriz.
- Quando uma função é chamada, as variáveis locais são armazenadas em uma pilha e são destruídas automaticamente quando retornadas.
- Uma pilha é usada quando uma variável não é usada fora dessa função.
- Ele permite que você controle como a memória é alocada e desalocada.
- Stack limpa automaticamente o objeto.
- Não é facilmente corrompido
- Variáveis não podem ser redimensionadas.