logo

Sąrašo inicijavimas Java

The Java.util.List yra vaikų sąsaja Kolekcija . Tai sutvarkytas objektų rinkinys, kuriame gali būti saugomos pasikartojančios reikšmės. Kadangi sąrašas išsaugo įterpimo tvarką, jis leidžia pasiekti ir įterpti elementus. Sąrašo sąsają įgyvendina ArrayList , LinkedList , Vektorius ir Stack klases.

listinterfacejava



Sąrašas yra sąsaja, o sąrašo egzempliorius galima sukurti šiais būdais:

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

Toliau pateikiami šie sąrašo inicijavimo būdai:

  1. Naudojant List.add() metodą

    Kadangi sąrašas yra sąsaja, jo negalima tiesiogiai sukurti. Tačiau galima sukurti objektus tų klasių, kuriose įdiegta ši sąsaja, ir juos sukurti.



    Yra keletas klasių, kurios įdiegė sąrašo sąsają Stack, ArrayList, LinkedList, Vector ir tt

    Sintaksė:

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

    Pavyzdžiai:






    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());> >}> }>

    >

    >

    Išvestis:

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

    Dvigubo skliausto inicijavimas taip pat gali būti naudojamas aukščiau nurodytam darbui atlikti.

    Sintaksė:

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

    Pavyzdžiai:




    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());> >}> }>

    >

    >

    Išvestis:

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

    • Nekeičiamo sąrašo kūrimas

      Arrays.asList() sukuria nekeičiamą sąrašą iš masyvo. Taigi jis gali būti naudojamas sąrašui sukurti masyvu.

      Sintaksė:

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

      Pavyzdžiai:




      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());> >}> }>

      >

      >

      Išvestis:

       List : [1, 2, 3]>
    • Keičiamo sąrašo kūrimas

      Sintaksė:

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

      Pavyzdžiai:




      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());> >}> }>

      metodo poeilutė java

      >

      >

      Išvestis:

       List : [1, 2, 3] Modified list : [1, 2, 3, 5]>
  3. Kolekcijos klasės metodų naudojimas

    Kolekcijos klasėje yra įvairių metodų, kuriuos galima naudoti sąrašui sudaryti. Jie yra:

    1. Naudojant Collections.addAll()

      Kolekcijos klasė turi statinį metodą Pridėti viską() kurį galima naudoti sąrašui inicijuoti. Collections.addAll() paimti bet kokį elementų skaičių po to, kai jis bus nurodytas rinkinyje, kuriame elementai turi būti įterpti.

      Sintaksė:

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

      Pavyzdžiai:




      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());> >}> }>

      >

      >

      Išvestis:

       List : [1, 2, 3, 4]>
    2. Naudojant Collections.unmodifiableList()

      Collections.unmodifiableList() grąžina sąrašą, kurio negalima keisti, t. y. negali nei pridėti, nei ištrinti elemento. Bet koks bandymas pakeisti sąrašą bus rodomas UnsupportedOperationExample.

      Sintaksė:

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

      1 pavyzdys:




      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());> >}> }>

      >

      >

      Išvestis:

       List : [1, 2, 3]>

      2 pavyzdys:




      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);> >}> >}> }>

      >

      >

      Išvestis:

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

      Collections.singletonList() grąžina nekintamą sąrašą, kurį sudaro tik vienas elementas.

      Sintaksė:

      List list = Collections.singletonList(2);>

      1 pavyzdys:




      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());> >}> }>

      >

      >

      Išvestis:

       List : [2]>
  4. „Java 8 Stream“ naudojimas

    „Java 8“ įdiegus srautą ir funkcinį programavimą, dabar galima sukurti bet kokį objektų srautą ir surinkti juos kaip sąrašą.

    Sintaksė:

     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));>

    Pavyzdžiai:




    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());> >}> }>

    >

    >

    Išvestis:

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

    Java 9 pristatė List.of() metodą, kuris priima bet kokį argumentų skaičių ir iš jų sudaro kompaktišką ir nekeičiamą sąrašą.

    Sintaksė:

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

    Pavyzdžiai:




    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());> >}> }>

    >

    >

    IŠVESTIS:

     [1, 2, 3]>