Top 80 des questions d'entrevue sur les collections Java & Réponses

Anonim

Voici les questions d'entrevue Java Collections pour les candidats plus récents et expérimentés pour obtenir l'emploi de leurs rêves.

1) Qu'est-ce que le framework en Java?

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

2) Qu'est-ce que le framework Collection en Java?

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

3) Expliquer la classe des 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, la lecture aléatoire, etc.

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

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

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

Liste des tableaux 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% de la taille du tableau. Il peut augmenter sa taille en doublant la taille du tableau.
ArrayList n'est pas thread-safe. Vector est un thread-safe.

6) Qu'est-ce que ArrayList en 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 se réduire à une taille plus petite lorsque des éléments sont supprimés. C'est une structure de données très importante utile pour gérer le comportement dynamique des éléments.

7) Différencier Iterator et ListIterator

La différence entre Iterator et ListIterator est:

Itérateur ListIterator
L'itérateur peut traverser les éléments du tableau dans la direction avant. ListIterator peut parcourir les éléments du tableau dans les directions arrière et avant.
Il peut être utilisé dans la file d'attente, la liste et l'ensemble. Il peut être utilisé dans List.
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 Iterator et Enumeration?

La différence entre Iterator et Enumeration

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'itérateur est rapide. L'énumération n'est pas 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 tout en parcourant 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 en 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 la récupération 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 extends Queue  

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

La méthode equals est utilisée pour vérifier la similitude entre deux objets. Dans le cas où le programmeur souhaite vérifier un objet en fonction de la propriété, il doit être remplacé.

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

La différence entre Comparable et Comparator est:

Comparable Comparateur
Comparable fournit la méthode compareTo () pour trier les éléments en Java. Comparator fournit la méthode compare () pour trier les éléments en Java.
Une interface comparable est présente dans le package java.lang. L'interface du comparateur est présente en java. package 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 un tri différent basé sur différents attributs d'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 comparateur.
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, Wrapper classes, 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, qui est 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) valeur de retour. Il renvoie true si l'argument passé n'est pas nul et est un objet d'un type similaire ayant la même valeur numérique.

Exemple:

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 les suivants:

  • Si les programmeurs utilisent une classe générique, ils ne nécessitent pas de conversion de type.
  • 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 bogues au moment de la compilation.

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

Les programmeurs peuvent convertir un Array 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) 

Les programmeurs Java peuvent convertir ArrayList en objet List à l'aide de 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 ArrayListArrayList arlTest = 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) Donner un exemple pour trier un tableau dans l'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 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) Expliquer les interfaces de base du framework de collections Java

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

  • Set: Set est une collection sans éléments en double. Il utilise une table de hachage pour stocker des éléments.
  • List: List est une collection ordonnée qui peut contenir des éléments en double. Il permet aux développeurs d'accéder à tous les éléments de sa boîte de réception. La liste est comme un tableau ayant une longueur dynamique.
  • MAP: 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 fonctionnalités de Java Hashmap?

Les fonctionnalités de Java Hashmap 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 passant à la méthode appropriée.
  • Si aucun élément n'existe dans la carte, il lèvera une 'NoSuchElementException'.
  • 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 plutôt une classe wrapper (comme Integer ou Double).

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 lié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é un nœud. Un nœud de la liste Linked 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.

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 ArrayListArrayList arlTest = 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) Expliquer la liste liée prise en charge par Java

Deux types de liste liée pris en charge par Java sont:

  • Liste à liaison unique: la liste à liaison unique est un type de structure de données. Dans une liste liée individuellement, 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 ou pointeur vers le nœud précédent.
  • Listes doublement liées: les listes doublement liées sont un type spécial de liste chaîné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) Expliquez les méthodes fournies par l'interface de file d'attente?

Les méthodes de l'interface Java Queue sont:

Méthode Description
boolean add (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 si elle est vide.
Sondage d'objet () Il récupère et supprime la tête de file d'attente ou renvoie null si elle 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 au cas où, si la file d'attente est la file d'attente est vide, il récupérera null.

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

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

  • push (): Poussez l'élément dans la pile.
  • empty (): Cette méthode trouve que si la pile est vide ou non.
  • pop (): cette méthode de framework de collecte Java supprime l'objet de la pile.
  • search (): cette méthode recherche les éléments dans la pile.
  • peek (): Cette méthode Java examine l'objet de la pile sans le supprimer.

25) Définissez emptySet () dans le framework de collections Java

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

public static final Set emptySet ()

26) Faire la différence entre la collection et les collections

La différence entre Collection et Collections est:

Collection Les 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 framework Java Collection. Les collections est une classe d'utilité 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éfinir LinkedHashSet dans le framework Java Collection?

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

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

Failfast Failsafe
Il n'autorise pas la modification de collection lors de l'itération. Il permet la modification de la collection lors de l'itération.
Il peut lancer ConcurrentModificationException Il ne peut lever aucune exception.
Il utilise la collection d'origine pour parcourir les éléments. Il utilise une copie de collection originale pour parcourir les éléments.
Il n'y a pas besoin de mémoire supplémentaire. Il y a un besoin de mémoire supplémentaire.

29) Liste des vues de collection d'une interface de carte

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

30) Quels sont les avantages de Collection Framework en Java?

Les avantages de Collection Framework en Java sont:

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

31) Quel est le bon moyen de trier les objets Collection en Java?

Un bon moyen de trier les objets de collection Java consiste à utiliser les interfaces Comparable et Comparator. Un développeur peut utiliser Collections.sort (), les éléments sont triés en fonction de la mention d'ordre dans compareTo ().

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

32) Expliquer le vecteur en Java

Le vecteur est le même qu'un tableau. Il contient 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 de la structure de collecte.

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

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

34) Définir la classe de dictionnaire

La classe Dictionary est une classe Java 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 des types enum. EnumSet ayant tous les éléments doit provenir d'un type enum spécifié explicitement ou implicitement. Il n'est pas synchronisé et les clés nulles ne sont pas autorisées. EnumSet fournit des méthodes comme EnumSetof (E d'abord, E

… Rest), complementOf (EnumSet s) et copyOf (Collection c).

36) Quelles sont les deux façons de supprimer les doublons de ArrayList?

Deux façons de supprimer les doublons de ArrayList sont:

  • HashSet: 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 que IdentityHashMap?

IdentityHashMap est une classe qui implémente les interfaces Serializable, Clonable, Map et étend la classe AbstractMap. Il est conçu pour le cas où il y a un besoin de sémantique d'égalité de référence.

38) Qu'est-ce que WeakHashMap?

WeakHashMap est une implémentation de Java Map. 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échets. 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 rendre la collection thread-safe sont les suivantes:

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

40) Expliquer l'exception UnsupportedOperationException

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

Par exemple, Developer crée une liste en lecture seule en utilisant "Collections.unmodifiableList (list)" et en appelant la méthode call (), add () ou remove (). Il doit clairement lancer une exception UnsupportedOperationException.

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.

File d'attente Deque
C'est ce qu'on appelle une file d'attente à une seule extrémité Cela s'appelle une file d'attente à deux extrémités
Les éléments de la file d'attente sont ajoutés ou supprimés à une extrémité Les éléments de la file d'attente sont ajoutés de chaque extrémité peuvent être ajoutés et supprimés des deux extrémités
C'est moins polyvalent. C'est plus polyvalent.

43) Mentionner la mise en œuvre de l'interface List and Set

Interface de liste d'implémentation de classe: 1) ArrayList, 2) Vector et 3) LinkedList.

Interface de jeu d'implémentation de classe: 1) HashSet et 2) TreeSet.

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

L'itérateur suit le détail 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) Quel est le peek () de l'interface de file d'attente?

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. Dans le cas où la file d'attente est vide, cette méthode renverra null.

46) Qu'est-ce que CopyOnWriteArrayList?

CopyOnWriteArrayList est une variante de 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. C'est un thread-safe, et par conséquent, il ne lève pas 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:

Liste des tableaux LinkedList
Il utilise un tableau dynamique. Il utilise une liste à double lien.
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 ne stocke que des objets, donc il prend moins de mémoire LinkedList stocke l'objet ainsi que l'objet d'adresse; par conséquent, cela prend plus de mémoire.

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

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

Méthode Description
public booléen hasNext () Il renvoie true dans l'itérateur a des éléments; sinon, il renvoie false.
Objet public suivant () Cette méthode renvoie l'élément et déplace le pointeur sur la valeur suivante.
public void remove () Cette méthode Java 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éthodes Description
boolean add (objet o) Cette méthode ajoute l'élément mention à cet ensemble s'il n'est pas déjà présent.
boolean contient (Object o): Il renvoie true si l'ensemble contient l'élément spécifié.
void clear (): Cette méthode supprime les éléments d'ensemble.
booléen isEmpty (): Il renvoie true dans le cas, l'ensemble ne contient aucun élément.
boolean remove (Object o): Il supprime l'élément spécifié de l'ensemble.
clone d'objet (): Cette méthode retourne 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 la classe Java TreeSet?

Les méthodes de la classe Java TreeSet sont:

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

51) Expliquer le HashSet lié

La classe Java LinkedHashSet est une implémentation de liste Linked et de table de hachage de l'interface Set. Il contient des éléments uniques identiques à un HashSet. Linked HashSet en 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:

Méthode Description
booléen add (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 true 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 Object) Cette méthode Java renvoie l'index avec la première occurrence de l'élément mention dans cette liste, ou -1.
int lastIndexOf (élément Object) C'est une méthode Java qui renvoie l'index avec la dernière occurrence de l'élément spécifié dans cette liste, ou -1.

53) Liste des différentes classes disponibles dans les ensembles

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

54) Liste des méthodes disponibles dans l'interface Java Queue

  • boolean add (objet)
  • offre booléenne (objet)
  • objet remove ()
  • sondage d'objet ()
  • élément objet ()
  • aperçu d'objet ()

55) Faites la différence entre List et Set.

Lister Ensemble
Une collection ordonnée d'éléments Une collection d'éléments non ordonnée
Préserve l'ordre d'insertion Ne préserve 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

56) Expliquez pour chaque boucle avec un exemple

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

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

58) Expliquer l'interface d'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 d'accès aléatoire

Le package Java.util a des classes qui peuvent implémenter une interface d'accès aléatoire: CopyOnWriteArrayList, Stack, ArrayList et Vector.

60) Comment rejoindre plusieurs ArrayLists?

La liste fournit une méthode addall () multiple ArrayList en 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) Expliquer l'interface de deque

Java.util.Deque est Java, une interface qui étend l'interface de file d'attente. Il prend en charge l'insertion et la suppression d'éléments à la fois à la fin. 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 aux développeurs Java d'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 les suivantes:

Méthode Description
dégager() Cette méthode supprime les éléments de ArrayList.
remove (index int) Cette méthode de ArrayList peut supprimer l'élément à une position particulière.
remove (Objet o) Il peut supprimer la première occurrence de l'élément mention de ArrayList.
Enlever tout() Il peut supprimer la liste des éléments qui se trouvent dans une collection particulière.
removeIf (Filtre prédicat ) 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 une interface Java de java.util. Il a une interface imbriquée dans Map. Cette interface doit être qualifiée par le nom de classe ou d'interface dont elle est membre. Par conséquent, il est qualifié de carte. Entrée. Il représente une paire clé et valeur qui peut former un élément d'une carte.

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'ensemble 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?

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

66) Comment mesurer les performances d'une ArrayList?

Les performances de 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, il pourrait aller à O (n). Cela peut se produire si le développeur ajoute plus d'éléments que la capacité du tableau.
  • Récupération d'un élément : - Le développeur peut accéder à l'index du tableau en utilisant get (int index). La performance, dans ce cas, peut être mesurée à l'aide de ArrayList get () is O (1).
  • Suppression d'un élément: Dans le cas où les développeurs suppriment un élément à l'aide de remove (int index), les performances de ArrayList peuvent être calculées en utilisant ladite opération remove (int index) est la méthode O (n-index).

67) Expliquer la classe LinkedList

La classe LinkedList en Java implémente Deque et List en utilisant une liste doublement liée. Il existe un nœud de classe privée dans une liste à double lien qui fournit sa structure. Il a également une variable d'élément 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 objMap = 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) Comment parcourir la carte?

Le développeur ne peut pas itérer directement la carte, mais cette interface a deux méthodes qui donnent un ensemble de vues de la carte. Ces méthodes sont:

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

70) Expliquer Treemap en 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?

Hashmap Hashtable
Il n'est pas synchronisé. Il est synchronisé.
HashMap autorise une clé comme valeur nulle. HashTable n'autorise pas les valeurs nulles.
Iterator est utilisé pour parcourir HashMap. Iterator ou Enumerator est utilisé pour parcourir un HashTable.
Il peut être utilisé à la fois pour HashTable, HashMap et est rapide. Il peut être utilisé avec HashTable et est à sécurité intégrée.
HashMap fonctionne plus rapidement que le HashTable. Hashtable n'est pas beaucoup plus rapide que HashMap.

72) Expliquer le fonctionnement interne de HashSet en Java

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

En Java, le développeur HashSet peut avoir une méthode add (E e) qui prend uniquement l'élément à ajouter en tant que 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 comme le 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 pour 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 dans Java Collection Framework

Les meilleures pratiques de Java Collection Framework sont les suivantes:

  • Choisir le bon type de collecte dépend du besoin.
  • Évitez de reformuler ou de redimensionner en estimant le nombre total d'éléments à stocker dans les classes de collection.
  • Ecrivez un programme Java en termes d'interfaces. Cela aidera le développeur à modifier son implémentation sans effort à l'avenir.
  • Un développeur peut utiliser des génériques pour la sécurité de type.
  • Utilisez des classes immuables fournies par le kit de développement Java. É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 en Java

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

  • File d'attente prioritaire: 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 lequel les opérations de l'utilisateur sont effectuées en fonction de la méthode FIFO. Le dernier élément est connecté à la première position pour former un cercle.
  • File d'attente à deux extrémités: une file d'attente à deux extrémités 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 pile et file d'attente?

Empiler File d'attente
Le principe de fonctionnement de la pile est LIFO. La principale de travail 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'a aucun type de variante. Il a des variantes comme la file d'attente prioritaire, la file d'attente circulaire, la file d'attente à double extrémité.
C'est facile a utiliser. Ce 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:

Déployer Empiler
Il s'agit d'un ensemble d'éléments identifiés par l'index. C'est une opération de collecte qui sert d'opérations push and pop.
Il a des éléments de types de données qui sont 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 en utilisant une opération d'accès aléatoire. Les éléments peuvent être supprimés ou ajoutés à 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. Iterator peut remplacer l'énumération en Java. Il permet à l'appelant de supprimer des éléments de la collection. La méthode fournit un moyen générique de traversée à l'aide d'éléments de la collection et d'implémentation du modèle de conception d'itérateur.

79) Quelles sont les différentes manières d'itérer sur une liste?

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

80) Quels sont les avantages de la pile?

Les avantages de la pile sont:

  • Il vous aide à gérer les données dans une méthode Last In First Out (LIFO), ce qui n'est pas possible avec la liste et le tableau liés.
  • 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 façon dont la mémoire est allouée et désallouée.
  • Stack nettoie automatiquement l'objet.
  • Pas facilement corrompu
  • Les variables ne peuvent pas être redimensionnées.