


Comment définir et implémenter ArrayList et la liste de séquences en Java
1. Table linéaire
Définition
La table linéaire est la structure de données la plus basique, la plus simple et la plus couramment utilisée. Une séquence finie, qui contient n éléments de données présentant les mêmes caractéristiques, est appelée liste linéaire et constitue un type de structure de données.
Listes linéaires courantes : listes séquentielles, listes chaînées, piles, files d'attente...
Les listes linéaires sont des structures logiquement linéaires, c'est-à-dire qu'elles constituent une ligne droite continue. La forme de stockage physique des tableaux linéaires est généralement une structure de tableau ou de liste chaînée, mais elle n'est pas nécessairement continue.
Caractéristiques
Il ne doit y avoir qu'un seul "premier élément" dans l'ensemble.
Il ne doit y avoir qu'un seul "dernier élément" dans l'ensemble.
À l'exception du dernier élément, tous les éléments ont un successeur unique (conséquent).
À l'exception du premier élément, tous les éléments ont un précurseur (antécédent) unique.
2. Table de séquence
Définition
Une structure linéaire généralement stockée sous la forme d'un tableau est appelée table de séquence, qui stocke des éléments de données en séquence dans une unité de stockage avec des adresses physiques continues. Terminez l'ajout, la suppression, la vérification et la modification des données sur la baie.
Implémentation
Nous devons d'abord créer un tableau pour stocker les données.
Remarque : Parce que j'ai d'abord créé le tableau d'entiers pour plus de commodité, afin de mieux s'adapter aux différents types, vous pouvez créer un tableau générique, que je n'écrirai pas ici.
L'étape suivante consiste à effectuer diverses opérations sur la table de séquence. Par exemple : CURD de base, impression de la table de séquence, obtention de la longueur de la table de séquence, effacement de la table de séquence, etc.
Imprimer le tableau
Parce qu'il s'agit d'un tableau, il suffit donc de parcourir le tableau et de l'imprimer directement
Ajouter de nouveaux éléments
Lors de l'ajout d'éléments, il est nécessaire de déterminer si le tableau est plein, nous devons donc faites un jugement. Si l'espace du tableau est plein et doit être étendu. De plus, nous devons également déterminer si cette position de pos est légale.
Comment juger si l'espace est plein
Ici, nous simplifions le code comme suit :
Si vous souhaitez augmenter la capacité, une fois l'expansion terminée, car la table de séquence est une structure continue, ajoutez des éléments à la position pos, puis les éléments après la position pos seront reculés un par un. Ce n'est qu'ainsi que de nouveaux éléments pourront être ajoutés.
Remarque : Après l'expansion, nous devons modifier la taille de CAPACITY et usedSize.
Déterminez s'il contient un certain élément
Ici, nous devons déterminer si le tableau est vide à ce moment-là.
Après cela, nous parcourons toujours directement le tableau.
Recherche d'éléments
nécessite également une opération nulle ici.
Obtenez l'élément en position pos
Il peut y avoir des situations où le tableau est vide et la position est illégale, un jugement est donc nécessaire.
Je lance des exceptions manuellement ici, je n'ai rien écrit d'autre.
Modifier la valeur de la position pos
Opération de suppression
Pour supprimer un élément à une certaine position, l'élément derrière lui peut directement l'écraser pour obtenir la suppression.
Obtenir la longueur de la table de séquence
Effacer la table de séquence
Les opérations suivantes sont relativement simples et ne seront pas décrites en détail.
3, ArrayList
Introduction :
Dans le framework de collection, ArrayList est une classe ordinaire qui implémente l'interface List Le schéma de framework spécifique est le suivant : # ° interface. Indique qu'ArrayList prend en charge l'accès aléatoire.
ArrayList implémente l'interface Serialisable, indiquant qu'ArrayList prend en charge la sérialisation.
- Contrairement à Vector, ArrayList n'est pas thread-safe et peut être utilisé dans des threads uniques. Dans plusieurs threads, vous pouvez choisir Vector ou CopyOnWriteArrayList.
- La couche inférieure d'ArrayList est un espace continu et peut être développée dynamiquement. Il s'agit d'une liste de séquences de type dynamique.
- Utiliser
- Quelques méthodes courantes
method
Explication
public static void main(String[] args) { // ArrayList创建,推荐写法 // 构造一个空的列表 List<Integer> list1 = new ArrayList<>(); // 构造一个具有10个容量的列表 List<Integer> list2 = new ArrayList<>(10); list2.add(1); list2.add(2); list2.add(3); // list2.add("hello"); // 编译失败,List<Integer>已经限定了,list2中只能存储整形元素 // list3构造好之后,与list中的元素一致 ArrayList<Integer> list3 = new ArrayList<>(list2); // 避免省略类型,否则:任意类型的元素都可以存放,使用时将是一场灾难 List list4 = new ArrayList(); list4.add("111"); list4.add(100); }
boolean add(E e)
void add(int index, E element) | Insérer e dans la position de l'index |
boolean addAll(Collection< ;? étend E> c) | Insérez la queue des éléments de l'ensemble c dans l'ensemble |
E delete(int index)# 🎜🎜# | Supprimez l'élément de position d'index et retournez|
Supprimez le premier rencontré o | |
Obtenir l'élément de position de l'index d'indice | |
Définissez l'élément de position de l'index d'indice sur element | |
boolean contain(Object o) | |
int indexOf(Object o) | |
#🎜🎜 #int lastIndexOf(Object o) | Renvoyer l'indice du dernier o |
List< ) | Intercepter une partie de la liste |
ArrayList traversal | |
foreach traversal | |
iterator | System.out.println("======迭代器1========="); ElementObservableListDecorator<Object> list; Iterator<String> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } System.out.println("======迭代器2========="); ListIterator<String> it2 = list.listIterator(); while (it2.hasNext()) { System.out.println(it2.next()); } Copier après la connexion
La capacité peut être comprise comme la taille (longueur) du tableau, et le nombre d'éléments est le nombre d'éléments valides enregistrés en taille. Dans la table de séquence, le stockage des données doit être continu et il ne peut pas y avoir d'"espaces" entre les éléments lorsque des opérations telles que l'insertion et la suppression sont effectuées. l'opération Une fois terminée, la continuité de la table de séquence doit également être assuré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! 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
![]() Outils d'IA chauds![]() Undresser.AI UndressApplication basée sur l'IA pour créer des photos de nu réalistes ![]() AI Clothes RemoverOutil d'IA en ligne pour supprimer les vêtements des photos. ![]() Undress AI ToolImages de déshabillage gratuites ![]() Clothoff.ioDissolvant de vêtements AI ![]() AI Hentai GeneratorGénérez AI Hentai gratuitement. ![]() Article chaud
Assassin's Creed Shadows: Solution d'énigmes de coquille
3 Il y a quelques semaines
By DDD
Quoi de neuf dans Windows 11 KB5054979 et comment résoudre les problèmes de mise à jour
2 Il y a quelques semaines
By DDD
Où trouver la courte de la grue à atomide atomique
3 Il y a quelques semaines
By DDD
Économie dans R.E.P.O. Expliqué (et enregistrer des fichiers)
1 Il y a quelques mois
By 尊渡假赌尊渡假赌尊渡假赌
Assassin's Creed Shadows - Comment trouver le forgeron et déverrouiller les armes et la personnalisation des armes
4 Il y a quelques semaines
By DDD
![]() Outils chauds![]() Bloc-notes++7.3.1Éditeur de code facile à utiliser et gratuit ![]() SublimeText3 version chinoiseVersion chinoise, très simple à utiliser ![]() Envoyer Studio 13.0.1Puissant environnement de développement intégré PHP ![]() Dreamweaver CS6Outils de développement Web visuel ![]() SublimeText3 version MacLogiciel d'édition de code au niveau de Dieu (SublimeText3) ![]() Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code. ![]() Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples. ![]() Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code. ![]() Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview. ![]() Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est ![]() Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples. ![]() Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4 ![]() Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo ![]() |