Java >> Tutoriel Java >  >> Tag >> ArrayList

Comment rendre ArrayList en lecture seule en Java ?

Mettre ArrayList en lecture seule

Étant donné une ArrayList, et nous devons la rendre en lecture seule en Java.

Lecture seule : Si nous faisons ArrayList en lecture seule, c'est-à-dire que nous ne pouvons lire ArrayList et nous ne pouvons pas effectuer d'autres opérations sur ArrayList comme supprimer, remplacer, ajouter en utilisant les méthodes remove(), set(), add(), en mode lecture seule ou en en d'autres termes, nous ne pouvons effectuer aucune modification dans la ArrayList en mode lecture seule.

Pour rendre une ArrayList en lecture seule, nous utilisons la méthode unmodifiableCollection() des Collections classe.

méthode unmodifiableCollection()

  • méthode unmodifiableCollection() est disponible dans le package java.util.
  • méthode unmodifiableCollection() est utilisé pour rendre les collections Java (ArrayList) en lecture seule.
  • méthode unmodifiableCollection() est utilisé pour renvoyer la même ArrayList que celle que nous avons saisie (c'est-à-dire une vue non modifiable).
  • méthode unmodifiableCollection() peut lever une exception au moment de la modification dans la vue unmodifiableCollection.
    UnsupportedOperationException : Dans cette exception, si nous tentons de modifier la collection.

Syntaxe :

    public static Collection unmodifiableCollection(Collection co){
    }

Paramètre(s) :

co – représente l'objet de collection ArrayList pour lequel une vue non modifiable doit être renvoyée.

Valeur renvoyée :

Le type de retour de cette méthode est Collection, elle retourne une vue non modifiable de la collection.

Exemple :

// Java program to demonstrate the example of 
// Java ArrayList make Read-Only by using 
// unmodifiableCollection() method of Collections class

import java.util.*;

public class ArrayListMakeReadOnly {
    public static void main(String[] args) {
        // ArrayList Declaration
        Collection arr_list = new ArrayList();

        // By using add() method to add few elements in 
        // ArrayList
        arr_list.add(10);
        arr_list.add(20);
        arr_list.add(30);
        arr_list.add(40);
        arr_list.add(50);

        // Display ArrayList 
        System.out.println("Display ArrayList Elements");
        System.out.println(arr_list);

        System.out.println();


        // By using unmodifiableCollection() method is used to make 
        // ArrayList Read-Only
        Collection al_ro = Collections.unmodifiableCollection(arr_list);

        // We will get an exception if we add element in Read-Only 
        // ArrayList i.e. Below statement is invalid

        // al_ro.add(60); 

        // We will get an exception if we delete element from Read-Only 
        // ArrayList i.e. Below statement is invalid

        // al_ro.remove(1); 

        // We will get an exception if we replace element in Read-Only 
        // ArrayList i.e. Below statement is invalid

        // al_ro.set(2,60); 
    }
}

Sortie

Display ArrayList Elements
[10, 20, 30, 40, 50]

Balise Java