80 Java Questions et réponses d'entretien sur les collections (2025)

Voici Java Questions d'entretien de collections pour les candidats les plus récents et les plus expérimentés pour obtenir l'emploi de leurs rêves.

 

Java Questions et réponses d'entretien sur les collections pour les nouveaux arrivants

1) Qu'est-ce que le cadre dans Java?

Un framework est une architecture populaire et prête à l'emploi qui contient un ensemble de classes et d'interfaces.


2) Quel est le cadre de collecte dans Java?

Collection Framework est un regroupement de classes et d’interfaces utilisé pour stocker et gérer les objets. Il fournit diverses classes comme Vector, ArrayList, HashSet, Stack, etc. Java Le framework de collection peut également être utilisé pour des interfaces telles que Queue, Set, List, etc.

Java Questions d'entretien pour les collections


3) Expliquer la classe de collections

java.util.Collections est une classe composée de méthodes statiques qui opèrent sur des collections. Il contient des algorithmes polymorphes pour opérer sur des collections, des « wrappers ». Cette classe contient des méthodes pour les algorithmes, comme le tri binaire, la recherche, le brassage, etc.


4) Qu'est-ce que le hashCode() ?

hashCode() est une méthode qui renvoie un code de hachage entier.


5) Distinguer ArrayList et Vector dans le Java cadre de collecte.

ArrayList vecteur
ArrayList ne peut pas être synchronisé. Le vecteur peut être synchronisé.
Ce n'est pas une classe héritée. C'est une classe héritée.
Il peut augmenter sa taille de 50 % par rapport à la taille du tableau. Il peut augmenter sa taille en doublant la taille du tableau.
ArrayList n'est pas thread-safe. Vector est thread-safe.

6) Qu'est-ce qu'ArrayList dans Java?

ArrayList est une structure de données qui peut être étirée pour accueillir des éléments supplémentaires en elle-même et réduite à une taille plus petite lorsque des éléments sont supprimés. Il s'agit d'une structure de données très importante, utile pour gérer le comportement dynamique des éléments.


7) Différencier entre Iterator et ListIterator

La différence entre Iterator et ListIterator est la suivante :

Itérateur Itérateur de liste
L'itérateur peut parcourir les éléments du tableau vers l'avant. ListIterator peut parcourir les éléments du tableau vers l’arrière et vers l’avant.
Il peut être utilisé dans la file d'attente, la liste et l'ensemble. Il peut être utilisé dans la liste.
Il ne peut effectuer qu’une opération de suppression. Il peut effectuer des opérations d’ajout, de suppression et de définition tout en parcourant la collection.

8) Quelle est la différence entre itérateur et énumération ?

La différence entre itérateur et énumération

Itérateur Énumération
L’itérateur peut parcourir à la fois les éléments hérités et non hérités. L'énumération ne peut parcourir que les éléments hérités.
L’Iterator est rapide en cas d’échec. L’énumération n’est pas une tâche rapide.
L'itérateur est très lent par rapport à l'énumération. L'énumération est rapide par rapport à Iterator.
L'itérateur peut effectuer une opération de suppression lors du parcours de la collection. L'énumération ne peut effectuer qu'une opération de traversée sur la collection.

9) Définir BlockingQueue

BlockingQueue est une interface utilisée dans Java qui peut étendre la file d'attente. Il fournit la concurrence dans diverses opérations de file d'attente telles que la récupération, l'insertion, la suppression, etc.

La file d'attente attend de devenir non vide au moment de récupérer des éléments. BlockingQueue ne doit pas contenir d'éléments nuls. L'implémentation de cette file d'attente est thread-safe.

La syntaxe de BlockingQueue est :

public interface BlockingQueue<E> extends Queue <E>

10) Expliquez la méthode de remplacement égal à ()

La méthode égale est utilisée pour vérifier la similitude entre deux objets. Si le programmeur souhaite vérifier un objet basé sur la propriété, il doit alors être remplacé.


11) Quelle est la différence entre Comparable et Comparateur ?

La différence entre Comparable et Comparateur est :

Comparable Comparateur
Comparable fournit la méthode compareTo() pour trier les éléments dans Java. Comparator fournit la méthode compare() pour trier les éléments dans Java.
Une interface comparable est présente dans le package java.lang. L'interface du comparateur est présente en Java. paquet util.
La logique de tri doit être dans la même classe dont vous allez trier l'objet. La logique de tri doit être dans une classe distincte pour écrire différents tris basés sur différents attributs des objets.
La classe dont vous souhaitez trier les objets doit implémenter l'interface comparable. La classe dont vous souhaitez trier les objets n’a pas besoin d’implémenter une interface de comparaison.
Il fournit des séquences de tri uniques. Il fournit plusieurs séquences de tri.
Cette méthode peut trier les données selon l'ordre de tri naturel. Cette méthode trie les données selon l'ordre de tri personnalisé.
Cela affecte la classe d'origine. c'est-à-dire que la classe réelle est modifiée. Cela n'affecte pas la classe d'origine, c'est-à-dire que la classe réelle n'est pas modifiée.
Implémenté fréquemment dans l'API par Calendar, les classes Wrapper, Date et String. Il est implémenté pour trier les instances de classes tierces.
Toutes les classes wrapper et la classe String implémentent l’interface comparable. Les seules classes implémentées de Comparator sont Collator et RuleBasedColator.

12) Expliquez equals() avec un exemple

Equals() vérifie si l'objet numérique est égal à l'objet passé en argument ou non.

La syntaxe de la méthode equals() est :

public boolean equals(Object o)

Cette méthode prend deux paramètres 1) n'importe quel objet, 2) la valeur de retour. Il renvoie vrai si l'argument passé n'est pas nul et s'il s'agit d'un objet d'un type similaire ayant la même valeur numérique.

Mise en situation :

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) Énumérez les avantages de la collection générique

Les avantages de l’utilisation de la collection générique sont :

  • Si les programmeurs utilisent une classe générique, ils n'ont pas besoin de transtypage.
  • Il est de type sécurisé et peut être vérifié au moment de la compilation.
  • Il assure la stabilité du code en détectant les bugs au moment de la compilation.

14) Expliquez la méthode pour convertir ArrayList en Array et Array en ArrayList

Les programmeurs peuvent convertir un tableau en ArrayList en utilisant la méthode asList() de la classe Arrays. Il s'agit d'une méthode statique de la classe Arrays qui accepte l'objet List. La syntaxe de la méthode asList() est :

Arrays.asList(item)

Java les programmeurs peuvent convertir ArrayList en objet List en utilisant la syntaxe :

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

15) Donnez un exemple de ArrayList

L'exemple de ArrayList inversé est :

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) Donnez un exemple pour trier un tableau par ordre décroissant

L'exemple de tri d'un tableau par ordre décroissant est :

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) Expliquer les interfaces de base du Java cadre de collecte

Java Le cadre de collection est une racine de la hiérarchie des collections. Il représente un groupe d'objets comme ses éléments. Le Java Le langage de programmation ne fournit pas d’implémentation directe d’une telle interface.

  • Ensemble: Set est une collection n’ayant aucun élément en double. Il utilise une table de hachage pour stocker les éléments.
  • Liste: List est une collection ordonnée pouvant contenir des éléments en double. Il permet aux développeurs d'accéder à tous les éléments depuis sa boîte de réception. La liste est comme un tableau ayant une longueur dynamique.
  • CARTE: C'est un objet qui mappe les clés aux valeurs. Il ne peut pas contenir de clés en double. Chaque clé peut être mappée à au moins une valeur.

18) Quelles sont les caractéristiques de Java Carte de hachage ?

Caractéristiques Java Carte de hachage sont:

  • Les valeurs peuvent être stockées dans une carte en formant une paire clé-valeur. La valeur peut être récupérée à l'aide de la clé en la transmettant à la bonne méthode.
  • Si aucun élément n'existe dans la carte, une 'NoSuchElementException' sera générée.
  • HashMap stocke uniquement les références d'objet. C'est pourquoi il est impossible d'utiliser des types de données primitifs comme double ou int. Utilisez une classe wrapper (comme Integer ou Double) au lieu.


19) Qu'est-ce qu'une pile ?

Une pile est une zone spéciale de la mémoire de l'ordinateur qui stocke les variables temporaires créées par une fonction. Dans la pile, les variables sont déclarées, stockées et initialisées pendant l'exécution.


20) Qu'est-ce qu'une liste chaînée ?

Une liste chaînée est une structure de données qui peut stocker une collection d'éléments. En d’autres termes, les listes chaînées peuvent être utilisées pour stocker plusieurs objets du même type. Chaque unité ou élément de la liste est appelé nœud. Un nœud dans la liste chaînée a ses données et l'adresse du nœud suivant. C'est comme une chaîne. Les listes liées sont utilisées pour créer des graphiques et des arbres.


Java Questions et réponses d'entretien de collections pour les expérimentés

21) Donnez un exemple de ArrayList

L'exemple de ArrayList est :

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) Expliquez la liste chaînée prise en charge par Java

Deux types de liste chaînée pris en charge par Java sont:

  • Liste à lien unique : La liste à chaînage unique est un type de structure de données. Dans une liste à chaînage unique, chaque nœud de la liste stocke le contenu du nœud et une référence ou un pointeur vers le nœud suivant de la liste. Il ne stocke aucune référence ni pointeur vers le nœud précédent.
  • Listes doublement chaînées : Les listes doublement liées sont un type spécial de liste liée dans laquelle la traversée des éléments de données peut être effectuée dans les deux sens. Ceci est rendu possible en ayant deux liens dans chaque nœud, un qui relie au nœud suivant et un autre qui se connecte au nœud précédent.

23) Expliquer les méthodes fournies par l'interface Queue ?

Méthodes de Java Les interfaces de file d'attente sont :

Method Description
booléen ajouter (objet) Insère l'élément spécifié dans la file d'attente. Il renvoie vrai en cas de succès.
offre booléenne (objet) Cette méthode est utilisée pour insérer l'élément dans la file d'attente.
Suppression d'objet () Il récupère et supprime la tête de file d'attente.
Sondage d'objet () Il récupère et supprime la tête de file d’attente ou renvoie null s’il est vide.
Sondage d'objet () Il récupère et supprime la tête de file d’attente ou renvoie null s’il est vide.
Élément objet () Récupère les données de la file d'attente, mais ne supprime pas sa tête.
Aperçu de l'objet () Récupère les données de la file d'attente mais ne supprime pas sa tête, ou si la file d'attente est vide, elle récupérera null.

24) Mentionner les méthodes fournies par la classe Stack

Les méthodes importantes fournies par la classe Stack sont :

  • pousser(): Poussez l'élément dans la pile.
  • vide (): Cette méthode détermine si la pile est vide ou non.
  • populaire (): Cette Java La méthode du framework de collection supprime l’objet de la pile.
  • recherche (): Cette méthode recherche les éléments dans la pile.
  • coup d'oeil (): Cette Java La méthode examine l’objet pile sans le supprimer.

25) Définissez emptySet() dans le Java cadre de collecte

Méthode emptySet() qui renvoie l'ensemble immuable vide chaque fois que les programmeurs tentent de supprimer des éléments nuls. L'ensemble renvoyé par emptySet() est sérialisable. La syntaxe de cette méthode est :

finale statique publique Ensemble ensemble vide()


26) Différencier Collection et Collections

Les différences entre Collection et Collections sont :

Collection Collections
La collection est une interface. Les collections sont une classe.
Il représente un groupe d'objets comme une seule entité. Il définit diverses méthodes utilitaires pour les objets de collection.
La collection est l'interface racine du Java Cadre de collecte. Collections est une classe utilitaire générale.
Cette interface est utilisée pour dériver les structures de données de collection. Cette classe contient des méthodes statiques pour manipuler la structure des données.

27) Définissez LinkedHashSet dans le Java Cadre de collecte ?

LinkedHashSet est une sous-classe de la classe appelée HashSet et implémente l'interface set. Il s'agit d'une version bien ordonnée de HashSet qui maintient une liste doublement liée entre tous ses éléments.


28) Quelle est la différence entre failfast et failsafe ?

failfast Failsafe
Il ne permet pas de modifier la collection lors de l'itération. Il permet la modification de la collection lors de l'itération.
Il peut lancer ConcurrentModificationException Cela ne peut lever aucune exception.
Il utilise la collection originale pour parcourir les éléments. Il utilise une copie de collection originale pour parcourir les éléments.
Aucune mémoire supplémentaire n'est requise. Il y a un besoin de mémoire supplémentaire.

29) Répertorier les vues de collection d'une interface cartographique

Les vues de collection de l'interface cartographique sont : 1) la vue de l'ensemble de clés, 2) la vue de l'ensemble de valeurs et 3) la vue de l'ensemble d'entrées.


30) Quels sont les avantages du cadre de collecte dans Java?

Les avantages de Collection Framework dans Java sont:

  • Java Le cadre de collecte offre des structures de données très efficaces et efficientes qui améliorent la précision et la rapidité du programme.
  • Le programme développé avec le Java le cadre de collecte est facile à maintenir.
  • Un développeur peut mélanger des classes avec d’autres types, ce qui augmente la réutilisabilité du code.
  • Notre Java Le cadre de collection permet aux programmeurs de modifier les types de collections primitifs comme ils le souhaitent.

31) Quelle est la bonne façon de trier les objets de la collection dans Java?

Une bonne façon de trier Java les objets de collection utilisent les interfaces Comparable et Comparator. Un développeur peut utiliser Collections.sort(), les éléments sont triés en fonction de l'ordre mentionné dans compareTo().

Lorsqu'un développeur utilise Collections, sort (Comparator), il trie les objets en fonction de compare() de l'interface Comparator.


32) Expliquez le vecteur dans Java

Le vecteur est identique à un tableau. Il comporte des composants accessibles à l’aide d’une valeur d’index. Les vecteurs peuvent contenir une méthode héritée qui ne fait pas partie du cadre de collection.


33) Quelle est la différence entre Set et Map ?

Ensemble Carte
L'ensemble appartient à package-java.util. La carte appartient au package java.util.
Il peut étendre l'interface de collection. Il n'étend pas l'interface de collection.
Il n'autorise pas les valeurs en double. Il autorise les valeurs en double.
Set ne peut trier qu’une seule valeur nulle. La carte peut trier plusieurs valeurs nulles.

34) Définir la classe du dictionnaire

La classe Dictionary est un Java classe qui a la capacité de stocker des paires clé-valeur.


35) Définir EnumSet

java.util.EnumSet est une implémentation Set qui peut être utilisée avec les types enum. EnumSet ayant tous les éléments doit provenir d’un type d’énumération spécifié explicitement ou implicitement. Il n'est pas synchronisé et les clés nulles ne sont pas non plus autorisées. EnumSet fournit des méthodes comme EnumSetof(E first, E… rest), complémentOf(EnumSet s) et copyOf(Collection c).


36) Quelles sont les deux manières de supprimer les doublons d’ArrayList ?

Il existe deux façons de supprimer les doublons d'ArrayList :

  • Jeu de hachage : Le développeur peut utiliser HashSet pour supprimer l’élément en double de ArrayList. L'inconvénient est qu'il ne peut pas conserver l'ordre d'insertion.
  • LinkedHashSet : Les développeurs peuvent également conserver l'ordre d'insertion en utilisant LinkedHashSet au lieu de HashSet.

37) Qu'est-ce qu'IdentityHashMap ?

IdentityHashMap est une classe qui implémente les interfaces sérialisables, clonables, Map et étend la classe AbstractMap. Il est conçu pour le cas où une sémantique d’égalité de référence est nécessaire.


38) Qu’est-ce que WeakHashMap ?

WeakHashMap est une implémentation de Java Carte. Il est utilisé pour stocker des références faibles à ses clés. Le tri à l'aide de cette carte permet à une paire clé-valeur d'être collectée en tant que déchet. Sa clé n'est pas référencée en dehors de WeakHashMap.


39) Quelles sont les méthodes pour rendre la collection thread-safe ?

Les méthodes pour sécuriser les threads de collection sont :

  • Collections.synchronizedList(liste);
  • Collections.synchronizedMap(carte);
  • Collections.synchronizedSet(ensemble);

40) Expliquez non pris en chargeOperationException

Non pris en chargeOperationException est une exception levée sur les méthodes qui ne sont pas prises en charge par le type de collection réel.

Par exemple, le développeur crée une liste en lecture seule en utilisant « Collections.unmodifiableList(list) » et en appelant la méthode call(), add() ou remove(). Il devrait clairement lancer Non pris en chargeOperationException.


41) Nommez les classes de collection qui donnent un accès aléatoire à ses éléments

Les classes de collection qui donnent un accès aléatoire à ses éléments sont : 1) ArrayList, 2) HashMap, 3) TreeMap et 4) Hashtable.


42) Expliquez la différence entre Queue et Deque.

Queue De quoi
C'est ce qu'on appelle une file d'attente asymétrique C'est ce qu'on appelle une file d'attente à double extrémité
Les éléments de la file d'attente sont ajoutés ou supprimés d'une extrémité Les éléments de la file d'attente sont ajoutés à chaque extrémité et peuvent être ajoutés et supprimés aux deux extrémités.
C'est moins polyvalent. C'est plus polyvalent.

43) Mentionner l'implémentation de l'interface List and Set

Classe implémentant l’interface List : 1) ArrayList, 2) Vector et 3) LinkedList.

Classe implémentant l’interface Set : 1) HashSet et 2) TreeSet.


44) Expliquez le modèle de conception suivi par Iterator

L'itérateur suit les détails du modèle de conception de l'itérateur. Il permet au développeur de naviguer dans les collections d'objets à l'aide d'une interface commune sans connaître son implémentation.


45) Qu'est-ce que le peek() de l'interface Queue ?

Peek() est une méthode d'interface de file d'attente. Il récupère tous les éléments mais ne supprime pas la tête de file d'attente. Si la file d'attente est vide, cette méthode renverra null.


46) Qu'est-ce que CopyOnWriteArrayList ?

CopyOnWriteArrayList est une variante d'ArrayList dans laquelle des opérations telles que l'ajout et la définition sont implémentées en créant une copie du tableau. Il s'agit d'un thread-safe et, par conséquent, il ne génère pas d'exception ConcurrentModificationException. Ce ArrayLists autorise tous les éléments, y compris null.


47) Différencier ArrayList et LinkedList

La différence entre ArrayList et LinkedList est :

ArrayList Liste Liée
Il utilise un tableau dynamique. Il utilise une liste doublement chaînée.
ArrayList n'est pas préférable pour la manipulation. LinkedList est préférable pour la manipulation.
ArrayList fournit un accès aléatoire. LinkedList ne fournit pas d'accès aléatoire.
ArrayList stocke uniquement les objets, ce qui nécessite moins de mémoire LinkedList stocke l'objet ainsi que l'objet d'adresse ; par conséquent, cela nécessite plus de mémoire.

48) Expliquer les méthodes de l'interface de l'itérateur

Les méthodes d'interface de l'itérateur sont :

Method Description
public booléen hasNext() Il renvoie true dans l'itérateur comportant des éléments ; sinon, il renvoie false.
Objet public suivant() Cette méthode renvoie l'élément et déplace le pointeur vers la valeur suivante.
public void supprimer() Cette Java La méthode peut supprimer les derniers éléments renvoyés par l’itérateur. Public void remove() est moins utilisé.

49) Quelles sont les méthodes de la classe HashSet ?

Les méthodes de la classe HashSet sont :

Méthodologie Description
booléen ajouter (Objet o) Cette méthode ajoute l'élément mention à cet ensemble s'il n'est pas déjà présent.
booléen contient (Objet o): Il renvoie vrai si l'ensemble contient l'élément spécifié.
vide clair() : Cette méthode supprime les éléments définis.
booléen isEmpty() : Il renvoie vrai dans le cas où l'ensemble n'a aucun élément.
booléen supprimer (Objet o): Il supprime l'élément spécifié de l'ensemble.
clone d'objet() : Cette méthode renvoie une copie de l'instance HashSet : les éléments eux-mêmes ne sont pas clonés.
itérateur itérateur() Il renvoie un itérateur sur les éléments de cet ensemble.
taille int() : Il renvoie le nombre d'éléments disponibles dans l'ensemble.

50) Quelles sont les méthodes de Java Classe TreeSet ?

Les méthodes de Java Les classes TreeSet sont :

Méthodologie Descriptions
booléen addAll (Collection c) Ajoutez tous les éléments de la collection spécifiée à cet ensemble.
boolean contient (Object o) Renvoie vrai si l'ensemble contient l'élément de mention.
booléen isEmpty () Cette Java La méthode renvoie true si cet ensemble ne contient aucun élément.
boolean remove (objet o) Supprime l'élément spécifié de l'ensemble.
void add (Objet o) Il ajoute l'élément spécifié à l'ensemble.
vide clair () Cette Java La méthode supprime tous les éléments de l’ensemble.

51) Expliquez le HashSet lié

Java La classe LinkedHashSet est une implémentation de liste liée et de table de hachage de l'interface Set. Il contient des éléments uniques identiques à ceux d'un HashSet. HashSet lié dans Java fournit également des opérations d'ensemble facultatives qui peuvent maintenir l'ordre d'insertion.


52) Quelles sont les méthodes importantes utilisées dans une liste chaînée ?

Les méthodes importantes utilisées dans la liste chaînée sont :

Method Description
booléen ajouter (Objet o) Il est utilisé pour ajouter l'élément spécifié à la fin du vecteur.
boolean contient (Object o) C'est une méthode qui renvoie vrai si cette liste contient l'élément spécifié.
void add (index int, élément Object) Insère l'élément à l'élément spécifié dans le vecteur.
void addFirst (Objet o) Il est utilisé pour insérer l'élément donné au début.
void addLast (Objet o) Il est utilisé pour ajouter l'élément donné à la fin.
Taille int() Cette méthode peut être utilisée pour renvoyer le nombre total d'éléments dans une liste.
boolean remove (objet o) Il peut supprimer la première occurrence de l'élément spécifié de cette liste.
int indexOf (élément objet) Cette Java La méthode renvoie l'index avec la première occurrence de l'élément de mention dans cette liste, ou -1.
int lastIndexOf (élément objet) Il s'agit d'un Java méthode qui renvoie l'index avec la dernière occurrence de l'élément spécifié dans cette liste, ou -1.

53) Répertoriez les différentes classes disponibles dans des ensembles

Les différentes classes disponibles dans les ensembles sont : HashSet, TreeSetand et LinkedHashSet.


54) Répertorier les méthodes disponibles dans Java Interface de file d'attente

  • booléen ajouter (objet)
  • offre booléenne (objet)
  • objet supprimer()
  • sondage d'objet()
  • élément d'objet()
  • coup d'oeil d'objet()

55) Faites la différence entre Liste et Ensemble.

Liste Ensemble
Une collection ordonnée d’éléments Une collection désordonnée d'éléments
Conserve l'ordre d'insertion Ne conserve pas l'ordre d'insertion
Les valeurs en double sont autorisées Les valeurs en double ne sont pas autorisées
N'importe quel nombre de valeurs nulles peut être stocké Une seule valeur nulle peut être stockée
ListIterator peut être utilisé pour parcourir la liste dans n'importe quelle direction ListIterator ne peut pas être utilisé pour parcourir un ensemble
Contient une classe héritée appelée vector Ne contient aucune classe héritée

Java Questions et réponses d'entretien sur les collections pour plus de 5 ans d'expérience

56) Expliquez pour chaque boucle avec un exemple

La boucle For-Each est une autre forme de boucle for utilisée pour parcourir le tableau. Cela réduit considérablement le code, et il n'y a aucune utilisation de l'index ou plutôt du compteur dans la boucle.

Exemple de pour chaque boucle :

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) Expliquez l'opérateur du diamant

L'opérateur Diamond permet au compilateur de collecter les arguments de type de la classe générique. Java SE, le développeur peut remplacer le constructeur paramétré par un ensemble de paramètres vides (<>) connu sous le nom d'opérateur diamant.


58) Expliquer l'interface à accès aléatoire

L'interface RandomAccess est utilisée par les implémentations de List pour indiquer qu'elles prennent en charge rapidement.


59) Nommez les classes de collection qui implémentent l'interface à accès aléatoire

JavaLe package .util contient des classes qui peuvent implémenter une interface à accès aléatoire : CopyOnWriteArrayList, Stack, ArrayList et Vector.


60) Comment rejoindre plusieurs ArrayLists ?

La liste fournit une méthode addall() dans plusieurs ArrayList Java.

Par exemple, considérons deux listes 1) areaList et 2) secondAreaList. Un développeur peut les rejoindre en utilisant addall() comme :

AreaList.addAll(secondAreaList);


61) Expliquez l'interface deque

Java.util.Deque est Java, une interface qui étend l'interface Queue. Elle permet l'insertion et la suppression d'éléments aux deux extrémités. Cette file d'attente est également appelée file d'attente à deux extrémités.


62) Expliquez Linkedhashmap

LinkedHashMap est l'implémentation de l'interface Map. Il peut également étendre la classe HashMap. Par conséquent, comme HashMap, LinkedHashMap permet Java les développeurs doivent autoriser une clé nulle et plusieurs valeurs nulles.


63) Expliquer les méthodes pour supprimer des éléments de ArrayList

Les méthodes pour supprimer des éléments de ArrayList sont :

Method Description
clair() Cette méthode supprime les éléments de ArrayList.
supprimer (index int) Cette méthode d'ArrayList peut supprimer l'élément à une position particulière.
supprimer (Objet o) Il peut supprimer la première occurrence de l'élément de mention de ArrayList.
Enlever tout() Il peut supprimer la liste des éléments qui se trouvent dans une collection particulière.
RemoveIf (Prédicat filtre) Cette méthode supprime les éléments qui satisfont à la mention d'un prédicat.

64) Expliquez la carte. entrée dans la carte

Map.entry est un Java interface de java.util. Elle possède une interface imbriquée dans Map. Cette interface doit être qualifiée par le nom de la classe ou de l'interface dont elle est membre. Elle est donc qualifiée de Map. Entry. Elle représente une paire clé/valeur qui peut former un élément d'une Map.

Cette méthode renvoie une vue de la collection. Par exemple, considérez cityMap comme une carte. Le développeur peut utiliser EntrySet() pour obtenir la vue définie de la carte ayant un élément Map.Entry. Le programmeur peut également utiliser getKey() et getValue() de Map.Entry pour obtenir la paire clé et valeur de la carte.


65) Quelle méthode est utilisée pour trier un tableau par ordre croissant ?

Java Méthode de framework de collection, Collections.sort() est utilisée pour trier un tableau par ordre croissant.


66) Comment mesurer les performances d’une ArrayList ?

Les performances d'ArrayList peuvent être mesurées par :

  • Ajout d'un élément : Le développeur peut ajouter un élément à la fin de ArrayList en utilisant la méthode add(E e). C'est O(1). Dans le pire des cas, cela pourrait aller vers O(n). Cela peut se produire si le développeur ajoute plus d'éléments que la capacité du tableau.
  • Récupérer un élément : Le développeur peut accéder à l'index du tableau en utilisant get(int index). Les performances, dans ce cas, peuvent être mesurées à l'aide de ArrayList get() is O(1).
  • Supprimer un élément : Dans le cas où les développeurs suppriment un élément à l'aide de la méthode Remove (int index), les performances de ArrayList peuvent être calculées à l'aide de ladite opération Remove (int index) qui est la méthode O (n – index).

67) Expliquez la classe LinkedList

Classe LinkedList dans Java implémente Deque et List en utilisant une liste doublement chaînée. Il existe un nœud de classe privé dans une liste doublement chaînée qui fournit sa structure. Il possède également une variable item pour contenir la valeur et la référence à la classe Node. Cela peut être utilisé pour connecter les nœuds suivants et précédents.


68) Donnez un exemple de Hashmap

L'exemple de Hashmap est :

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) Comment parcourir la carte ?

Le développeur ne peut pas parcourir directement la carte, mais cette interface dispose de deux méthodes qui permettent d'afficher l'ensemble de la carte. Ces méthodes sont :

  • Ensemble >entrySet() : C'est une méthode qui renvoie un ensemble dont les entrées sont mentionnées dans la carte. Ces entrées sont généralement objectées, qui ont le type Map. Entrée.
  • Ensemble jeu de clés() : Cette Java La méthode renvoie un ensemble contenant la clé de carte.

70) Expliquez Treemap dans Java

TreeMap est une classe qui implémente l'interface Map LinkedHashMap et HashMap. Il peut également implémenter l'interface NavigableMap et étendre la classe AbstractMap.


71) Quelle est la différence entre Hashmap et Hashtable ?

Carte de hachage Table de hachage
Il n'est pas synchronisé. Il est synchronisé.
Carte de hachage autorise une clé comme valeur nulle. HashTable n'autorise pas les valeurs nulles.
L'itérateur est utilisé pour parcourir HashMap. Soit Iterator, soit Enumerator sont utilisés pour parcourir une HashTable.
Il peut être utilisé à la fois pour HashTable et HashMap et est rapide. Il peut être utilisé avec HashTable et est sécurisé.
HashMap fonctionne plus rapidement que HashTable. Hashtable n'est pas beaucoup plus rapide que HashMap.

72) Expliquez le fonctionnement interne de HashSet dans Java

HashSet dans Java utilise en interne HashMap pour stocker des éléments. Il peut également stocker des valeurs uniques sans valeurs en double.

In Java, le développeur HashSet peut avoir la méthode add(E e) qui prend uniquement l'élément à ajouter comme paramètre. Il n’accepte pas la paire clé/valeur.


73) Expliquez la notation Big-O avec un exemple

La notation Big-O décrit les performances d'un algorithme sous forme de nombre d'éléments dans ArrayList. Un développeur peut utiliser la notation Big-O pour choisir l'implémentation de la collection. Il est basé sur les performances, le temps et la mémoire.

Par exemple, ArrayList get(index i) est une méthode permettant d'effectuer une opération à temps constant. Cela ne dépend pas du nombre total d'éléments disponibles dans la liste. Par conséquent, la performance en notation Big-O est O(1).


74) Expliquer les meilleures pratiques en Java Cadre de collecte

Les meilleures pratiques en Java Les cadres de collecte sont :

  • Choisir le bon type de collecte dépend du besoin.
  • Évitez de ressasser ou de redimensionner en estimant le nombre total d'éléments à stocker dans les classes de collection.
  • Rediger un Java programme en termes d'interfaces. Cela aidera le développeur à modifier sa mise en œuvre sans effort à l'avenir.
  • Un développeur peut utiliser des génériques pour la sécurité des types.
  • Utiliser des classes immuables données par le Java Kit de développement. Évitez l'implémentation de equals() et hashCode() pour les classes personnalisées.
  • Un programmeur doit utiliser la classe utilitaire Collections pour les algorithmes ou pour obtenir des collections en lecture seule, synchronisées ou vides. Cela améliorera la réutilisabilité du code avec une faible maintenabilité.

75) Expliquer les différents types de files d'attente dans Java

Il existe trois types de files d'attente dans Java:

  • File d'attente de priorité: Il s'agit d'un type spécial de file d'attente dans lequel les éléments sont triés selon leur ordre naturel ou leur comparateur personnalisé.
  • File d'attente circulaire : Il s'agit d'un type de file d'attente dans laquelle les opérations utilisateur sont effectuées sur la base de la méthode FIFO. Le dernier élément est relié à la première position afin de former un cercle.
  • DoubleFile d'attente terminée : Une file d'attente à double extrémité est un type de données abstrait qui généralise une file d'attente. Les éléments de cette file d'attente peuvent être ajoutés ou supprimés de la tête ou de la queue.

76) Quelle est la différence entre la pile et la file d'attente ?

Stack Queue
Le principe de fonctionnement de la pile est LIFO. Le principe de fonctionnement de la file d'attente est FIFO.
Une extrémité est utilisée pour effectuer l'insertion ou la suppression d'éléments. Une extrémité est utilisée pour effectuer l'insertion et une autre extrémité est utilisée pour la suppression d'éléments.
Il utilise un pointeur. Il utilise deux pointeurs dans une file d’attente simple.
Il n’y a aucune sorte de variante. Il a des variantes comme la file d'attente prioritaire, la file d'attente circulaire, la file d'attente à double fin.
C'est facile a utiliser. Il n'est pas facile à utiliser.

77) Quelle est la différence entre un tableau et une pile ?

La différence entre un tableau et une pile est :

tableau Stack
Il s'agit d'une collection d'éléments identifiés par l'index. Il s'agit d'une opération de collecte qui fait office d'opérations push et pop.
Il contient des éléments de types de données identiques. Il contient des éléments de types de données différents.
Les éléments peuvent être supprimés ou ajoutés au tableau à l'aide d'une opération d'accès aléatoire. Les éléments peuvent être supprimés ou ajoutés dans une pile à l'aide de l'opération LIFO.

78) Définir l'itérateur()

Iterator() est une interface qui fournit des méthodes pour itérer Collection. L'itérateur peut remplacer l'énumération dans Java. Elle permet à l'appelant de supprimer des éléments de la collection. La méthode fournit un moyen générique de parcourir les éléments de la collection et d'implémenter le modèle de conception d'itérateur.


79) Quelles sont les différentes manières de parcourir une liste ?

Java Le programmeur collection Framework peut parcourir une liste de deux manières : 1) en utilisant l'itérateur et 2) en l'utilisant pour chaque boucle.


80) Quels sont les avantages du stack ?

Les avantages de la pile sont :

  • Il vous aide à gérer les données selon une méthode Last In First Out (LIFO), ce qui n'est pas possible avec la liste liée et le tableau.
  • Lorsqu'une fonction est appelée, les variables locales sont stockées dans une pile, et elle est automatiquement détruite une fois renvoyée.
  • Une pile est utilisée lorsqu'une variable n'est pas utilisée en dehors de cette fonction.
  • Il vous permet de contrôler la manière dont la mémoire est allouée et désallouée.
  • Stack nettoie automatiquement l'objet.
  • Pas facilement corrompu
  • Variables ne peut pas être redimensionné.

Ces questions d'entretien vous aideront également dans votre soutenance