Maison  >  Article  >  Java  >  Questions d'entretien sur les nouvelles Java 2020 - Conteneurs (3)

Questions d'entretien sur les nouvelles Java 2020 - Conteneurs (3)

王林
王林avant
2020-04-17 17:08:271598parcourir

Questions d'entretien sur les nouvelles Java 2020 - Conteneurs (3)

1. Quelle est la différence entre Array et ArrayList ?

Array peut contenir des types et des objets de base, tandis qu'ArrayList ne peut contenir que des objets.

Array a une taille spécifiée, tandis que la taille initiale de ArrayList est fixe.

Array ne fournit pas autant de fonctions qu'ArrayList, telles que addAll, RemoveAll et iterator.

2. Quelle est la différence entre poll() et remove() dans Queue ?

Queue Remove() et poll() sont tous deux utilisés pour supprimer un élément de la tête de la file d'attente. Lorsque l'élément de file d'attente est vide, la méthode Remove() lèvera une exception NoSuchElementException, poll. () renverra simplement null.

Tutoriel recommandé : Démarrer avec Java

3. Quelles sont les classes de collection thread-safe ?

vecteur : Il dispose d'un mécanisme de synchronisation (sécurité des threads) de plus que ArrayList. En raison de sa moindre efficacité, il n'est plus recommandé de l'utiliser

statck : Classe Stack, premier entré, dernier sorti

hashtable : elle est plus thread-safe que HashMap

énumération : énumération, équivalente à l'itérateur

4. Qu'est-ce qu'un itérateur ?

Un itérateur est un modèle de conception qui est un objet qui parcourt et sélectionne des objets dans une séquence sans que le développeur ait besoin de connaître la structure sous-jacente de la séquence. Les itérateurs sont souvent appelés objets « légers » car ils sont peu coûteux à créer.

(colonne de questions d'entretien Java : https://www.php.cn/java/interview/)

5. Comment utiliser Iterator ? Quelles sont les caractéristiques ?

1. La fonction Iterator est relativement simple et ne peut se déplacer que dans une seule direction.

2. Utilisez la méthode iterator() pour demander au conteneur de renvoyer un itérateur. La première fois que la méthode next() d'un itérateur est appelée, elle renvoie le premier élément de la séquence. Remarque : la méthode iterator() est l'interface java.lang.Iterable et est héritée par Collection.

3. Utilisez hasNext() pour vérifier s'il y a des éléments dans la séquence

4. Utilisez next() pour obtenir l'élément suivant dans la séquence

5. Utilisez remove() Supprimez les éléments nouvellement renvoyés par l'itérateur

6. Iterator est l'implémentation la plus simple de l'itérateur Java conçu pour List a plus de fonctions. Il peut parcourir List dans deux directions et peut également parcourir List. de la liste. Insérer et supprimer des éléments.

Exemple de code :

    public static void main(String[] args) {
        // List
        ArrayList<String> list = new ArrayList<>();
        list.add("apple");
        list.add("pear");
        list.add("banana");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            String s = iterator.next();
            if ("apple".equals(s)){
                iterator.remove();
            }
        }
        list.forEach(item -> System.out.println(item));

        // Map<key,value>
        Map<String,String> map=new HashMap<>();
        map.put("pig","猪");
        map.put("cat","猫");
        map.put("dog","狗");
        Iterator<String> iterator1 = map.keySet().iterator();
        Iterator<String> iterator2 = map.values().iterator();
        while (iterator1.hasNext()){
            System.out.println(iterator1.next());
        }
        while (iterator2.hasNext()){
            System.out.println(iterator2.next());
        }
    }

Tutoriels vidéo associés recommandés : vidéo 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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer