Maison > Java > JavaQuestions d'entretien > Collection de questions d'entretien Java classiques (6)

Collection de questions d'entretien Java classiques (6)

王林
Libérer: 2020-07-13 17:17:38
avant
2445 Les gens l'ont consulté

Collection de questions d'entretien Java classiques (6)

1. Qu'est-ce qu'un tableau ? Qu'est-ce qu'une liste chaînée ?

(Questions d'entretien connexes recommandées : questions d'entretien Java )

Un tableau est comme une personne numérotée debout dans une rangée. Il est très difficile de trouver le. 10ème personne Facile, vous pouvez la retrouver rapidement en fonction du numéro de série de la personne. Mais l'insertion et la suppression sont lentes. Lorsqu'une personne est insérée ou supprimée à un certain endroit, les numéros des personnes suivantes changent. Bien entendu, les personnes sont toujours ajoutées ou supprimées rapidement.

Une liste chaînée est une structure de stockage dans laquelle la référence de l'élément précédent pointe vers l'élément suivant. La liste chaînée connecte les éléments avec des pointeurs

La liste chaînée est comme des personnes se tenant dans un ; cercle se tenant la main. Ce n'est pas facile de trouver la 10ème personne. Il faut les compter une à une à partir de la première personne. Mais l'insertion et la suppression sont rapides. Lors de l'insertion, détachez simplement les mains de deux personnes et reprenez la main de la personne nouvellement ajoutée. Même chose avec la suppression.

En Java, ArrayList et LinkedList sont implémentés en interne en utilisant respectivement des tableaux et des listes chaînées.

2. Quelle est la différence entre un tableau et une liste chaînée ?

Différence : la liste chaînée est une structure de stockage liée ;

Les listes chaînées connectent les éléments aux éléments via des pointeurs, tandis que les tableaux stockent tous les éléments dans l'ordre.

(Tutoriels associés recommandés : Tutoriel d'introduction à Java)

L'insertion et la suppression d'éléments dans les listes chaînées sont plus simples que dans les tableaux, et ne nécessitent pas de déplacement d'éléments, et cela est plus facile d'obtenir une expansion de longueur, mais il est plus difficile de trouver un élément

Il est plus facile de trouver un élément dans un tableau, mais l'insertion et la suppression sont plus compliquées puisque la longueur maximale doit être spécifiée. au début de la programmation, lorsque la longueur maximale est atteinte, la longueur d'extension n'est pas aussi bonne que celle d'une liste chaînée pratique.

Idem : les deux structures peuvent réaliser un stockage séquentiel de données et le modèle construit a une structure linéaire.

3. Caractéristiques des collections et des tableaux Java

Caractéristiques du tableau : taille fixe, ne peut stocker que des données du même type de données

Caractéristiques de la collection : taille Il peut être étendu de manière dynamique et peut stocker différents types de données

(tutoriels vidéo associés recommandés : tutoriel vidéo Java)

4. LinkedList

LinkedList est implémenté via une liste doublement chaînée Puisqu'il est implémenté en tant que liste chaînée, son efficacité d'accès aléatoire est inférieure à celle d'ArrayList et l'efficacité d'accès séquentiel est relativement élevée. Chaque nœud a un prédécesseur (pointeur vers le nœud précédent) et un successeur (pointeur vers le nœud suivant) L'effet est le suivant :

Collection de questions dentretien Java classiques (6)

1. Utiliser for pour la boucle. ArrayLIst et les tableaux, le programme restera bloqué lors de la boucle de LinkedList en grande quantité car convient à la boucle des structures de tableaux et à la traversée des indices.

2. L'utilisation de foreach convient à la boucle LinkedList. Pour une implémentation utilisant une structure de liste double chaînée, la boucle foreach doit être utilisée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal