[Java] Cadre de collection

Qu'est-ce qu'une collection?

Interface de collecte

Instanciation de collection

** Type d'interface **

** Syntaxe générique **

idiome

Initialiser la collection au moment de l'instanciation

import java.util.ArrayList;
public class Main {
  public static void main(String[] args) {
    //Classe anonyme
    var data = new ArrayList<String>() {
      //Bloc d'initialisation
      {
        add("neko");
        add("inu");
        add("tori");
      }
    };
    System.out.println(data);//[neko, inu, tori]
  }
}

Traiter en cours de collecte dans l'ordre avec extension pour

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    var data = new ArrayList<String>() {
      {
        add("neko");
        add("inu");
        add("kuma");
      }
    };
    //Processus en cours de collecte dans l'ordre
    for (var s : data) {
      System.out.println(s); //neko inu kuma
    }
    //Lors de l'utilisation d'un itérateur
    //     var itr = data.iterator();
    //     while (itr.hasNext()) {
    //      System.out.println(itr.next());
    //     }
  }
}

Supprimer des éléments dans une boucle

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    var data = new ArrayList<String>() {
      {
        add("neko");
        add("inu");
        add("niwatori");
      }
    };

    var ite = data.iterator();
    while (ite.hasNext()) {
      System.out.println(ite.next()); //neko inu niwatori
      ite.remove();
    }
    System.out.println(data); //[]
  }
}
//Exemple NG:Extension pour
    for (var s : data) {
      System.out.println(s);
      data.remove(s);
    }

Lisez la liste dans l'ordre inverse

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    var data = new ArrayList<String>() {
      {
        add("neko");
        add("inu");
        add("shimaenaga");
      }
    };
    //Réglez la fin sur la position de départ
    var ite = data.listIterator(data.size());
    while (ite.hasPrevious()) {
      System.out.println(ite.previous()); //shimaenaga inu neko
    }
  }
}

Conversion de tableaux et de collections

Du tableau à la liste

//Exemple NG: convertir une chaîne de caractères existante en liste, ajouter une valeur à la liste convertie et supprimer
import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    var data = new String[] { "cat", "dog", "bird"};
    var list = Arrays.asList(data);
    list.set(0, "neko");
    System.out.println(list); //[neko, dog, bird]
    System.out.println(Arrays.toString(data)); //[neko, dog, bird]
    //list.add("inu"); //UnsupportedOperationException
    //list.remove(0);  //UnsupportedOperationException
  }
}
//OK Exemple: convertir une chaîne de caractères existante en liste, ajouter et supprimer des valeurs dans la liste convertie
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class Main {
  public static void main(String[] args) {
    var data = new String[] { "cat", "dog", "bird" };
    var list = new ArrayList<String>();
    Collections.addAll(list, data);
    list.set(0, "neko");
    list.add("inu");
    System.out.println(list); //[neko, dog, bird, inu]
    list.remove(1);

    System.out.println(list); //[neko, bird, inu]
    System.out.println(Arrays.toString(data)); //[cat, dog, bird]
  }
}

De la collection au tableau

import java.util.ArrayList;
import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    var data = new ArrayList<String>(Arrays.asList("cat", "dog", "bird"));
    //Copiez le contenu dans un tableau de chaînes de la même taille que la liste
    var strs = new String[data.size()];
    data.toArray(strs);
    //Ajouter des données uniquement à la liste des sources de conversion
    data.set(0, "neko");
    System.out.println(Arrays.toString(strs)); //[cat, dog, bird]
    //Seule la liste des sources de conversion a changé
    System.out.println(data); //[neko, dog, bird]
  }
}

Convertir en une collection immuable

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class Main {
  public static void main(String[] args) {
    var data = new ArrayList<String>(Arrays.asList("cat", "dog", "bird"));
    //Générer une liste immuable
    var udata = Collections.unmodifiableList(data);
    udata.set(0, "neko"); //UnsupportedOperationException
    udata.add("inu");  //UnsupportedOperationException
  }
}
//Le contenu des éléments de collection peut être modifié dans StringBuilder
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class Main {
  public static void main(String[] args) {
    var data = new ArrayList<StringBuilder>(Arrays.asList(
        new StringBuilder("Bonjour"),
        new StringBuilder("Kame-san"),
        new StringBuilder("Yo")));
    var udata = Collections.unmodifiableList(data);
    udata.get(0).append("Kameyo");
    System.out.println(udata); //[Bonjour,Kame-san,Yo]
  }
}
//Collection immuable directement générée par la méthode of
import java.util.List;
public class Main {
  public static void main(String[] args) {
    var data = List.of("cat", "dog", "bird");
    System.out.println(data);
    data.set(0, "neko"); //UnsupportedOperationException
  }
}

Génération de collection vide

Génération de collection synchronisée

Recommended Posts

[Java] Cadre de collection
framework java
Collection Java9
Réintroduction Java - Collection Java
Comparaison du framework Java
Conseils pour Play Framework2.5 (Java)
Questions d'entretien de Java Collection
[Développement] Comparaison du framework Java
Apprentissage du framework Java # 1 (version Mac)
Premiers pas avec Java Collection
J'ai résumé le cadre de la collection.
Collection d'exemples de code parallèle Java
Notes de révision de Java Collections Framework
[Java] Comparateur de la classe Collection
Collection de méthodes de code de test Java
Java
Java
Considération sur le cadre de persistance Java 2017 (résumé) -1
Considération sur le cadre de persistance Java 2017 (6) Ebean
Cause fondamentale du bogue du framework Java
Considération sur le framework de persistance Java 2017 (5) Iciql
Création de l'environnement de développement Play Framework 2.6 (Java)
Considérations sur le cadre de persistance Java 2017 (7) EclipseLink
Considération sur le framework de persistance Java 2017 (1)
Outils Spring Framework pour développeur Java
J'ai essayé le framework Java "Quarkus"
Collection de modèles JNA (Java Native Access)
Considérations sur le cadre de persistance Java 2017 (2) Doma2
Java Performance Chapitre 5 Bases de la récupération de place
Étudier Java ―― 3
[Java] tableau
Essayez d'utiliser le framework Java Nablarch [Application Web]
Java protégé
[Java] Annotation
Module [Java]
Tableau Java
Importance de l'interface apprise de la collection Java
Étudier Java ―― 9
Java scratch scratch
Astuces Java, astuces
Méthodes Java
Devinez le cadre de persistance Java 2017 (3) Reladomo
Méthode Java
java (constructeur)
Tableau Java
[Java] ArrayDeque
java (remplacement)
java (méthode)
Journée Java 2018
Chaîne Java
java (tableau)
Java statique
Sérialisation Java
java débutant 4
JAVA payé
Étudier Java ―― 4
tri shell java
[Java] compareTo
java réfléchissant 获 获 举