Finition des connaissances de la collection Java

Concept:

La bibliothèque de classes Java nous fournit un grand nombre de "classes de collection". Ces classes de collection utilisent différentes "structures de données" pour stocker. Différentes structures de données conduiront à différentes performances d'ajout, de suppression, de modification et de vérification.
Structure de données commune :
1). Tableau; augmentation rapide de la requête et suppression lente
2). Liste liée; ajout et suppression de la requête rapide lente
3). Pile; dernier entré premier sorti, pile pile de bombes
4). File d'attente; premier entré premier sorti
5). Table de hachage; Les requêtes et les ajouts et suppressions sont rapides
6).
Insérez la description de l'image ici

Collection

Remarque: ①, la collection ne peut stocker que des objets. Par exemple, si vous stockez une donnée de type int 1 et la placez dans une collection, elle est automatiquement convertie en classe Integer et stockée. Chaque type de base en Java a un type de référence correspondant.
   ② La collection stocke des références à plusieurs objets et les objets eux-mêmes sont toujours placés dans la mémoire de tas.
   ③, la collection peut stocker différents types, un nombre illimité de types de données.
Insérez les connaissances:
classe d'emballage:
type de données de base -----
octet de type d'emballage ----- octet
booléen ----- booléen
court ----- caractère court
----- caractère
int ---- -Entier
long -----
Flottant long ----- Flottant
double ----- Double
A) Collection collection : collection à une colonne
| –Liste collection: 1. Ordonné; 2. Peut stocker des éléments en double; peut Éléments d'opération d'indexation
| | - ArrayList (sous-classe): implémentation du tableau
| - LinkedList (sous-classe): implémentation de la liste liée
| - Set collection: 1. Unordered; 2. Impossible de stocker les éléments en double;
| - HashSet (subclass): Table de hachage
| –LinkedHashSet (sous-classe): liste liée, table de hachage. Commandé
B). La collection Carte : deux ensembles de colonnes (paires clé-valeur)
| –HashMap (sous-classe): implémentation de table de hachage;
| –LinkedHashMap (sous-classe): liste liée, implémentation de table de hachage

Méthodes courantes dans Collection_Collection :
1). Les méthodes déclarées dans Collection seront implémentées dans la collection List and Set;
2). Plusieurs méthodes couramment utilisées:
add:
public boolean add (E e): put the given L'objet est ajouté à la collection actuelle, la valeur de retour: pour ArrayList renvoie toujours true; pour Set, uniquement lors du stockage d'éléments en double, il renvoie false, échec de stockage;

Supprimer:
public void clear (): efface tous les éléments de la collection.
public boolean remove (E e): supprime l'objet donné de la collection actuelle. Valeur de retour: true si la suppression est réussie; sinon: false Remarque: S'il y a plusieurs "éléments en double" dans la collection, seul le premier sera supprimé. (La suppression dépend de la comparaison de: equals ())

Jugement:
public booléen contient (Object obj): juge si la collection actuelle contient l'objet donné. Remarque: La recherche dépend de la comparaison d'equals ();
public boolean isEmpty (): détermine si la collection actuelle est vide.

Get:
public int size (): renvoie le nombre d'éléments dans la collection.
public Object [] toArray (): stocke les éléments de la collection dans un tableau. Convertissez la collection en tableau.
public Iterator iterator (): Récupère un "itérateur" pour parcourir la collection.

Connaissances supplémentaires
Vous ne pouvez pas ajouter ou supprimer l'objet d'origine à l'aide d'un itérateur, sinon le programme signalera une erreur (ConcurrentModificationException)

//定义一个list集合
ArrayList<String> list=new ArrayList<>();
Iterator it=list.iterator();
while(it.hasNext()){ //获取浮标 判断是否有下一个
System.out.print(it.next());//输出
}

Connaissances supplémentaires:
Enhanced for:
est une instruction de boucle utilisée pour parcourir les tableaux et les collections. Syntaxiquement, il est plus concis qu'une boucle for normale.

//快捷键 arr.iter  
//注意增强for底层是迭代器不可以执行增删操作
  int [] arr={2,14,1,3,22,11,4};
        for (int i : arr) {
            System.out.println(i);
        }

Collection de listes:

1) .Il hérite de l'interface Collection. De plus, il a ajouté quelques méthodes.
2). Fonctionnalités de collection de listes: ordonnées; peut stocker des éléments en double; peut faire fonctionner des éléments via "index";
3). Nouvelle méthode couramment utilisée:
ajouter un ajout public nul (index int, élément E): spécifiera L'élément est ajouté à la position spécifiée dans la collection.
Modification: ensemble E public (index int, élément E) Remplacez l'élément à la position spécifiée dans l'ensemble par l'élément spécifié et renvoyez l'élément avant la mise à jour.
Delete: public E remove (int index): supprime l'élément à la position spécifiée dans la liste et renvoie l'élément qui a été supprimé.
Get: public E get (int index): renvoie l'élément à la position spécifiée dans la collection.
ArrayList (list collection subclass):
implémentation de tableau, pas de méthode unique.
LinkedList (list collection subclass):
implémentation de liste liée, il existe des méthodes uniques. Utilisé pour simuler les opérations de pile et de file d'attente

collection de sets

Caractéristiques
1. Non ordonné (fait référence à un ordre différent de celui de l'ajout) 2. Ne peut pas stocker les éléments en double 3. Ne peut pas être consulté par index.
hashSet (subclass):
Fonctionnalités: requête d'ajout et de suppression plus rapide
Remarque: Lors de l'ajout d'un élément à une certaine position, utilisez la méthode hashCode () pour vérifier si la position d'index existe, puis utilisez la méthode equse () pour déterminer si les éléments sont identiques.

HashSet<String> set = new HashSet<>();
set.add("张三");
set.add("张三");//错误 不可存储重复 输出只会有一个“张三”
set.add("李四");
for (String s : set) {
            System.out.println(s);// 李四 张三
        }
set.clear();//清空集合
set.iterator();//迭代器 作用遍历

LinkedHashSet (sous-classe):
Caractéristiques: C'est un cas particulier de Set, liste liée, structure de table de hachage. Ordonné

 LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
        linkedHashSet.add("张三");
        linkedHashSet.add("李四");
        linkedHashSet.add("王五");
        for (String s : linkedHashSet) {
            System.out.println(s);//张三 李四 王五
        }

Collection de cartes

Caractéristiques: une collection à deux colonnes stocke deux objets: paire clé-valeur
HashMap (sous-classe): implémentation de la table de hachage;

HashMap<String, String> hashMap = new HashMap<>();
        hashMap.put("1","张三");//put() 添加元素的方法 “1”是键,“张三”是值
        hashMap.put("2","李四");
        hashMap.put("3","王五");
        hashMap.get("1");//get() 获取指定索引位置的值的方法
        hashMap.remove("2");//remove() 移除指定位置的键和值

Il existe deux façons de traverser:

 Set<String> keySet = hashMap.keySet();//获取键的集合
        for (String s : keySet) {
            System.out.println(hashMap.get(s));
        }
    }
//获取集合中的每一个键值对对象的集合遍历
 Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
        for (Map.Entry<String, String> s : entrySet) {
            String key=s.getKey();
            String value=s.getValue();
            System.out.println(key+":"+value);
        }

LinkedHashMap (sous-classe): liste chaînée, implémentation de table de hachage
Caractéristiques: Ordonné
Aucune méthode spéciale, similaire à la méthode de traversée hashMap.

A publié 8 articles originaux · Likes0 · Visites 38

Je suppose que tu aimes

Origine blog.csdn.net/FearSun/article/details/105385757
conseillé
Classement