Maison Java javaDidacticiel Explication détaillée du code sur la façon d'utiliser List

Explication détaillée du code sur la façon d'utiliser List

May 12, 2017 am 09:29 AM
java list

Le principe des tableaux variables en Java est de créer continuellement de nouveaux tableaux et d'ajouter le tableau d'origine au nouveau tableau. L'utilisation de Java List est expliquée en détail ci-dessous. Les amis qui en ont besoin peuvent s'y référer

Le principe des tableaux variables en Java est de créer continuellement de nouveaux tableaux et d'ajouter le tableau d'origine au nouveau tableau. L'utilisation de Java List est expliquée en détail ci-dessous.

  •  Liste : Les éléments sont dans l'ordre (vous pouvez les retirer au fur et à mesure que vous les enregistrez, l'ordre ne sera pas gâché), et les éléments peuvent être répétés (il y a un 3 sur l'indice 1 et un indice 2 Il peut aussi y avoir un 3) car le système de collecte a des index

  •  ArrayList : La structure de données sous-jacente utilise une structure de tableau (la longueur du tableau est variable et peut être étendu de 50 % ) (Les caractéristiques sont que les requêtes sont rapides, 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 (les caractéristiques sont que les requêtes sont lentes, les ajouts et les suppressions sont rapides)

  •  Vecteur : La couche inférieure est une synchronisation de thread de structure de données de tableau (la longueur du tableau est variable et 100 % étendu) (peu importe la requête ou l'ajout ou la suppression est très lent, remplacé par ArrayList)

Liste : une méthode unique, toute méthode qui peut faire fonctionner la marque de coin est une méthode unique au system

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);
}
Copier après la connexion

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);
}
Copier après la connexion

Modifier l'élément avec l'ensemble d'index spécifié (index int, élément E) Renvoie le modifié element

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);
}
Copier après la connexion

Get

get(int index) Renvoie l'élément spécifié dans la liste L'élément à la position

subList(int fromIndex, int toIndex) renvoie certains éléments entre le fromIndex (inclus) et le toIndex (exclusif) spécifiés dans la liste.

public static void List_get() {
   ArrayList a1 = new ArrayList();
   a1.add("java");
   a1.add("php");
   a1.add("flash");
Copier après la connexion
System.out.println(a1.get(0));//获取指定角标的元素,有了该方法就可以遍历该集合中的所有元素
   System.out.println(a1.subList(1, 3));//获取集合中某一部分的元素,包含头不包含尾
}
Copier après la connexion

Itérateur unique à la collection List : ListIterator (est une sous-interface d'Iterator)

Remarque :

Lors de l'itération, vous ne pouvez pas faire fonctionner les éléments de la collection via les méthodes de l'objet collection car une ConcurrentModificationException (exception de concurrence) se produira donc lors de l'utilisation de l'itérateur. , vous ne pouvez utiliser que la méthode iterator pour créer des éléments. La méthode Iterator étant limitée, vous ne pouvez juger, supprimer et supprimer des éléments que si vous souhaitez d'autres opérations telles que l'ajout, la modification, etc., vous devez utiliser son sous-élément. -interface. ListIterator Cette interface ne peut obtenir

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");
    }  
  }
}
Copier après la connexion

Vector que via la méthode listIterator de la collection List : l'énumération est une manière unique d'extraire le vecteur, qui est très similaire à l'itérateur (en fait, l'énumération et l'itération). sont les mêmes) et a été remplacé par l'itérateur

 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());
    }
  }
}
Copier après la connexion

LinkedList :

Méthodes spéciales :

addFirst(); ajouter des éléments en tête

addLast(); ajouter des éléments à la queue

getFirst(); getLast();

Obtenir des éléments mais ne les supprimez pas. S'il n'y a aucun élément dans la collection, NoSuchElementException se produira

removeFirst(); removeLast();

Obtenez l'élément mais supprimez l'élément. S'il n'y a aucun élément dans la collection, NoSuchElementException se produira

Une méthode alternative est apparue dans JDK1.6

offerFirst(); offerLast();
peekFirst(); peekLast(); 获取元素,但是元素不被删除。如果集合中没有元素,会返回null
pollFirst(); pollLast(); 获取元素,但是元素被删除。如果集合中没有元素,会返回null
 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()));
    }
  }
}
Copier après la connexion

[Recommandations associées]

1 . Tutoriel vidéo gratuit Java

2. Manuel en ligne YMP

3 Tutoriel vidéo d'introduction de base JAVA

.

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 Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

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.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

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.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

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.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

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.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

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

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

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.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

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

Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Feb 07, 2025 pm 12:11 PM

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

See all articles