Explication détaillée des exemples d'utilisation de la liste Java
|--Liste : Les éléments sont dans l'ordre (vous pouvez les retirer comme vous les enregistrez, l'ordre ne sera pas gâché), et les éléments peuvent être répétés (il peut y avoir un 3 sur l'indice 1, et il peut aussi y avoir un 3 en indice 2) Parce que le système de collecte a un index,
|-- ArrayList : La structure de données sous-jacente utilise une structure de tableau (la longueur du tableau est variable et peut être étendue de 50%) (la la caractéristique est que la requête est rapide, mais les ajouts et les suppressions sont lents) Les threads ne sont pas synchronisés
|-- LinkedList : la structure de données sous-jacente est une structure de liste chaînée (caractérisée par une requête lente et un ajout et une suppression rapides)
|-- Vecteur : la structure de données sous-jacente est une structure de données de tableau et une synchronisation de threads (la longueur du tableau est une extension variable à 100 %) (les requêtes ainsi que les ajouts et les suppressions sont très lents, remplacés par ArrayList)
Liste : méthode unique, toute méthode pouvant faire fonctionner l'indice est unique au système
Ajouter
boolean add(int index, E element) boolean addAll(index,Collection)
public static void List_add(){ ArrayList a1 = new ArrayList(); a1.add("java"); a1.add("php");//List集合中的元素可以重复 a1.add(".net"); System.out.println("原集合:"+a1); a1.add(1, "Flash"); a1.add(0, "ps"); System.out.println(a1); ArrayList a2 = new ArrayList(); a2.add("javascript"); a2.add("3dMax"); a2.add("IBM"); a1.addAll(0, a2); System.out.println(a1); }
Supprimer l'élément à la position spécifiée
boolean remove(int index)
public static void List_remove(){ ArrayList a1 = new ArrayList(); a1.add("javascript"); a1.add("php"); a1.add("flash"); System.out.println("原集合:"+a1); a1.remove(0); System.out.println(a1); }
Modifier l'élément avec l'ensemble d'index spécifié (index int, élément E) Renvoyé C'est l'élément modifié
public static void List_set() { ArrayList a1 = new ArrayList(); a1.add("javascript"); a1.add("php"); a1.add(".net"); System.out.println("原集合:"+a1); a1.set(1, "falsh"); System.out.println(a1); }
Vérifier
get(int index) 返回列表中指定位置的元素 subList(int fromIndex, int toIndex) 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分元素。
public static void List_get() { ArrayList a1 = new ArrayList(); a1.add("java"); a1.add("php"); a1.add("flash"); System.out.println(a1.get(0));//获取指定角标的元素,有了该方法就可以遍历该集合中的所有元素 System.out.println(a1.subList(1, 3));//获取集合中某一部分的元素,包含头不包含尾 }
Itérateur unique à la collection List : ListIterator (est une sous-interface d'Iterator)
Remarque :
Lors d'une itération, vous ne pouvez pas faire fonctionner les éléments de la collection via les méthodes de l'objet de collection
Parce que ConcurrentModificationException (exception de concurrence) se produira
Ainsi, lorsque vous utilisez l'itérateur, vous ne pouvez utiliser que la méthode itérateur Element
Parce que la méthode Iterator est limitée, elle ne peut juger, supprimer et supprimer des éléments. > Si vous souhaitez d'autres opérations telles que l'ajout, la modification, etc., vous devez utiliser sa sous-interface, ListIterator
L'interface ne peut être obtenue que via la méthode listIterator de la collection List
public class ListIteratorDemo { public static void main(String[] args) { ArrayList a1 = new ArrayList(); a1.add("java01"); a1.add("java02"); a1.add("java03"); a1.add("java04"); System.out.println("原集合是:"+a1); /*在迭代过程中准备添加或者删除元素 Iterator it = al.iterator(); while (it.hasNext()){ Object obj = it.next(); if (obj.equals("java02")) //al.add("java008");//会出现并发异常,因为迭代器正在操作集合,不能再用集合的方法操作集合了 it.remove();//将java02的引用从集合中删除了 System.out.println("obj:"+obj); } */ //只有List的listIterator有增,删,改,查这些功能,因为只有List有索引 ListIterator li = a1.listIterator(); while (li.hasNext()){ if(li.next().equals("java02")) //li.add("java009"); li.set("java006"); } } }
public class VectorDemo { public static void main(String[] args) { Vector v = new Vector(); v.add("java01"); v.add("java02"); v.add("java03"); v.add("java04"); for(Enumeration en = v.elements();en.hasMoreElements();){ System.out.println(en.nextElement()); } } }
Méthodes spéciales :
addFirst(); ajouter des éléments en tête addLast(); ajouter des éléments en queue
getFirst (); Récupère les éléments mais ne les supprime pas. eux. S'il n'y a aucun élément dans la collection, NoSuchElementException se produira
removeFirst(); removeLast(); Récupère l'élément mais supprime l'élément. S'il n'y a aucun élément dans la collection, NoSuchElementException se produira
Dans JDK1.6, méthodes alternatives
offerFirst(); offerLast();
peekFirst(); () ; Récupère l'élément, mais l'élément n'est pas supprimé. S'il n'y a aucun élément dans la collection, null sera renvoyé
pollFirst(); pollLast(); L'élément est obtenu, mais l'élément est supprimé. S'il n'y a aucun élément dans la collection, null sera renvoyé
public class LinkedListDemo { public static void main(String[] args) { LinkedList link = new LinkedList(); link.add("java01"); link.add("java02"); link.add("java03"); link.add("java04"); while(!link.isEmpty()){ System.out.println((link.removeLast())); } } }
Pour des exemples d'utilisation de liste Java plus détaillés et des articles connexes, veuillez prêter attention au site Web PHP chinois !

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Cet article analyse les quatre premiers cadres JavaScript (React, Angular, Vue, Svelte) en 2025, en comparant leurs performances, leur évolutivité et leurs perspectives d'avenir. Alors que tous restent dominants en raison de fortes communautés et écosystèmes, leur populaire relatif

L'article examine la mise en œuvre de la mise en cache à plusieurs niveaux en Java à l'aide de la caféine et du cache de goyave pour améliorer les performances de l'application. Il couvre les avantages de configuration, d'intégration et de performance, ainsi que la gestion de la politique de configuration et d'expulsion le meilleur PRA

Node.js 20 améliore considérablement les performances via des améliorations du moteur V8, notamment la collecte des ordures et les E / S plus rapides. Les nouvelles fonctionnalités incluent une meilleure prise en charge de Webassembly et des outils de débogage raffinés, augmentant la productivité des développeurs et la vitesse d'application.

Le chargement de classe de Java implique le chargement, la liaison et l'initialisation des classes à l'aide d'un système hiérarchique avec Bootstrap, Extension et Application Classloaders. Le modèle de délégation parent garantit que les classes de base sont chargées en premier, affectant la classe de classe personnalisée LOA

Cet article aborde la vulnérabilité CVE-2022-1471 dans SnakeyAml, un défaut critique permettant l'exécution du code distant. Il détaille comment la mise à niveau des applications de démarrage de printemps vers SnakeyAml 1.33 ou ultérieurement atténue ce risque, en soulignant cette mise à jour de dépendance

Iceberg, un format de table ouverte pour les grands ensembles de données analytiques, améliore les performances et l'évolutivité du lac Data. Il aborde les limites du parquet / orc par le biais de la gestion interne des métadonnées, permettant une évolution efficace du schéma, un voyage dans le temps, un W simultanément

Cet article explore l'intégration de la programmation fonctionnelle dans Java à l'aide d'expressions Lambda, de flux API, de références de méthode et facultatif. Il met en évidence des avantages tels que l'amélioration de la lisibilité au code et de la maintenabilité grâce à la concision et à l'immuabilité

Cet article explore les méthodes de partage des données entre les étapes du concombre, la comparaison du contexte de scénario, les variables globales, le passage des arguments et les structures de données. Il met l'accent
