logo

Inițializarea unei liste în Java

The Java.util.List este o interfață copil a Colectie . Este o colecție ordonată de obiecte în care pot fi stocate valori duplicate. Deoarece List păstrează ordinea de inserare, permite accesul pozițional și inserarea elementelor. Interfața Listă este implementată de ArrayList , LinkedList , Vector și Grămadă clase.

listinterfacejava



List este o interfață, iar instanțele List pot fi create în următoarele moduri:

 List a = new ArrayList(); List b = new LinkedList(); List c = new Vector(); List d = new Stack();>

Mai jos sunt următoarele modalități de a inițializa o listă:

  1. Folosind metoda List.add().

    Deoarece lista este o interfață, nu se poate instanția direct. Cu toate acestea, se pot crea obiecte din acele clase care au implementat această interfață și le pot instanția.



    Puține clase care au implementat interfața Listă sunt Stivă, ArrayList, LinkedList, Vector etc.

    Sintaxă:

     List list=new ArrayList(); List llist=new LinkedList(); List stack=new Stack();>

    Exemple:






    import> java.util.*;> import> java.util.function.Supplier;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// For ArrayList> >List list =>new> ArrayList();> >list.add(>1>);> >list.add(>3>);> >System.out.println(>'ArrayList : '> + list.toString());> > >// For LinkedList> >List llist =>new> LinkedList();> >llist.add(>2>);> >llist.add(>4>);> >System.out.println(>'LinkedList : '> + llist.toString());> > >// For Stack> >List stack =>new> Stack();> >stack.add(>3>);> >stack.add(>1>);> >System.out.println(>'Stack : '> + stack.toString());> >}> }>

    >

    >

    Ieșire:

     ArrayList : [1, 3] LinkedList : [2, 4] Stack : [3, 1]>

    Inițializarea bretele duble poate fi folosit și pentru a face lucrările de mai sus.

    Sintaxă:

     List list=new ArrayList(){{ add(1); add(2); add(3); }};>

    Exemple:




    import> java.util.*;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// For ArrayList> >List list =>new> ArrayList() {{> >add(>1>);> >add(>3>);> >} };> >System.out.println(>'ArrayList : '> + list.toString());> > >// For LinkedList> >List llist =>new> LinkedList() {{> >add(>2>);> >add(>4>);> >} };> >System.out.println(>'LinkedList : '> + llist.toString());> > >// For Stack> >List stack =>new> Stack() {{> >add(>3>);> >add(>1>);> >} };> >System.out.println(>'Stack : '> + stack.toString());> >}> }>

    >

    >

    Ieșire:

     ArrayList : [1, 3] LinkedList : [2, 4] Stack : [3, 1]>
  2. Utilizarea Arrays.asList()

    • Crearea listei imuabile

      Arrays.asList() creează o listă imuabilă dintr-o matrice. Prin urmare, poate fi folosit pentru a instanția o listă cu o matrice.

      Sintaxă:

      List list=Arrays.asList(1, 2, 3);>

      Exemple:




      import> java.util.Arrays;> import> java.util.List;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// Instantiating List using Arrays.asList()> >List list = Arrays.asList(>1>,>2>,>3>);> > >// Print the list> >System.out.println(>'List : '> + list.toString());> >}> }>

      >

      >

      Ieșire:

       List : [1, 2, 3]>
    • Crearea listei mutabile

      Sintaxă:

      List list=new ArrayList(Arrays.asList(1, 2, 3));>

      Exemple:




      import> java.util.ArrayList;> import> java.util.Arrays;> import> java.util.List;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// Creating a mutable list using Arrays.asList()> >List list =>new> ArrayList(> >Arrays.asList(>1>,>2>,>3>));> > >// Print the list> >System.out.println(>'List : '> + list.toString());> > >list.add(>5>);> > >// Print the list> >System.out.println(>'Modified list : '> + list.toString());> >}> }>

      Madhubala

      >

      >

      Ieșire:

       List : [1, 2, 3] Modified list : [1, 2, 3, 5]>
  3. Folosind metodele clasei Collections

    Există diferite metode în clasa Colecții care pot fi folosite pentru a instanția o listă. Sunt:

    1. Folosind Collections.addAll()

      Colecții clasa are o metodă statică adaugă totul() care poate fi folosit pentru a inițializa o listă. Collections.addAll() preluați orice număr de elemente după ce este specificat cu Colecția în care urmează să fie inserate elementele.

      Sintaxă:

      List list = Collections.EMPTY_LIST; Collections.addAll(list = new ArrayList(), 1, 2, 3, 4);>

      Exemple:




      import> java.util.*;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// Create an empty list> >List list =>new> ArrayList();> > >// Instantiating list using Collections.addAll()> >Collections.addAll(list,>1>,>2>,>3>,>4>);> > >// Print the list> >System.out.println(>'List : '> + list.toString());> >}> }>

      >

      >

      Ieșire:

       List : [1, 2, 3, 4]>
    2. Folosind Collections.unmodiableList()

      Collections.unmodiableList() returnează o listă care nu poate fi modificată, adică nu poate adăuga sau șterge un element. Orice încercare de modificare a listei va avea ca rezultat un UnsupportedOperationExample.

      Sintaxă:

      List list = Collections .unmodifiableList(Arrays.asList(1, 2, 3));>

      Exemplul 1:




      import> java.util.*;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// Creating the list> >List list = Collections.unmodifiableList(> >Arrays.asList(>1>,>2>,>3>));> > >// Print the list> >System.out.println(>'List : '> + list.toString());> >}> }>

      >

      >

      Ieșire:

       List : [1, 2, 3]>

      Exemplul 2:




      import> java.util.*;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >try> {> >// Creating the list> >List list = Collections.unmodifiableList(> >Arrays.asList(>1>,>2>,>3>));> > >// Print the list> >System.out.println(>'List : '> + list.toString());> > >// Trying to modify the list> >System.out.println(>'Trying to modify the list'>);> >list.set(>0>, list.get(>0>));> >}> > >catch> (Exception e) {> >System.out.println(>'Exception : '> + e);> >}> >}> }>

      >

      >

      Ieșire:

       List : [1, 2, 3] Trying to modify the list Exception : java.lang.UnsupportedOperationException>
    3. Folosind Collections.singletonList()

      Collections.singletonList() returnează o listă imuabilă constând dintr-un singur element.

      Sintaxă:

      List list = Collections.singletonList(2);>

      Exemplul 1:




      import> java.util.*;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// Creating the list> >List list = Collections.singletonList(>2>);> > >// Print the list> >System.out.println(>'List : '> + list.toString());> >}> }>

      >

      >

      Ieșire:

       List : [2]>
  4. Folosind Java 8 Stream

    Odată cu introducerea programării Stream și funcționale în Java 8, acum se poate construi orice flux de obiecte și apoi le poate colecta ca o listă.

    Sintaxă:

     1. List list = Stream.of(1, 2, 3) .collect(Collectors.toList()); 2. List list = Stream.of(1, 2, 3) .collect(Collectors.toCollection(ArrayList::new)); 3. List list = Stream.of(1, 2, 3, 4) .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));>

    Exemple:




    import> java.util.*;> import> java.util.stream.Collectors;> import> java.util.stream.Stream;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// Creating a List using Syntax 1> >List list1 = Stream.of(>1>,>2>,>3>)> >.collect(Collectors.toList());> > >// Printing the list> >System.out.println(>'List using Syntax 1: '> >+ list1.toString());> > >// Creating a List using Syntax 2> >List list2 = Stream> >.of(>3>,>2>,>1>)> >.collect(> >Collectors> >.toCollection(ArrayList::>new>));> > >// Printing the list> >System.out.println(>'List using Syntax 2: '> >+ list2.toString());> > >// Creating a List using Syntax 3> >List list3 = Stream> >.of(>1>,>2>,>3>,>4>)> >.collect(> >Collectors> >.collectingAndThen(> >Collectors.toList(),> >Collections::unmodifiableList));> > >// Printing the list> >System.out.println(>'List using Syntax 3: '> >+ list3.toString());> >}> }>

    >

    >

    Ieșire:

     List using Syntax 1: [1, 2, 3] List using Syntax 2: [3, 2, 1] List using Syntax 3: [1, 2, 3, 4]>
  5. Utilizarea Java 9 List.of()

    Java 9 a introdus metoda List.of() care preia orice număr de argumente și construiește o listă compactă și nemodificabilă din ele.

    Sintaxă:

    List unmodifiableList = List.of(1, 2, 3);>

    Exemple:




    import> java.util.List;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >// Creating a list using List.of()> >List unmodifiableList = List.of(>1>,>2>,>3>);> > >// Printing the List> >System.out.println(>'List : '> >+ unmodifiableList.toString());> >}> }>

    >

    >

    IEȘIRE:

     [1, 2, 3]>