SHARE
TWEET

Untitled

a guest Oct 21st, 2019 89 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package ui;
  2.  
  3. import java.util.*;
  4. import java.util.stream.Collectors;
  5.  
  6. public class OefLinkedList_opgave<T> {
  7.  
  8.     public OefLinkedList_opgave() {
  9.  
  10. //Creëer een Integer-array "getallen" en initialiseer met 4, 3, 9 en 7
  11. //-------------------------------------------------------------------
  12.         Integer getallen[] = {4,3,9,7};
  13.        
  14. //Creëer een 'arrayList' en vul op met de array "getallen" (1 instructie)
  15. //-----------------------------------------------------------------------------------
  16.         List<Integer> arrayList = new ArrayList<>(Arrays.asList(getallen));
  17.        
  18.  
  19. //Creëer de linkedList "lijstInteger" en vul op met de inhoud van de arrayList ( 1 instructie )
  20. //--------------------------------------------------------------------------------
  21.         //NIET GOED
  22. //        LinkedList<Integer> lijstInteger = new LinkedList<>(arrayList);
  23.         //GOED
  24.         List<Integer> lijstInteger = new LinkedList<>(arrayList);
  25.  
  26.  
  27. //Voeg vooraan in "lijstInteger" getal 2 toe
  28. //------------------------------------------------
  29.         //NIET GOED
  30. //        lijstInteger.addFirst(2);
  31.         //GOED
  32.         lijstInteger.add(0, 2);
  33. //Voeg achteraan in "lijstInteger" getal 12 toe
  34. //---------------------------------------------------
  35.         //NIET GOED
  36. //        lijstInteger.addLast(12);
  37.         //GOED
  38.         lijstInteger.add(12);
  39.        
  40.         weergevenLijst("oplossing: 2 4 3 9 7 12", lijstInteger);
  41.  
  42. //Verwijder het eerste element van "lijstInteger" en toon op het scherm d.m.v. printf
  43. //----------------------------------------------------------------
  44.         //NIET GOED
  45. //        Integer hulp = lijstInteger.removeFirst();
  46.         //GOED
  47.         int eersteElement = lijstInteger.remove(0);
  48.         System.out.printf("%s%n%s", "oplossing: 2", "           ");
  49.  
  50.         metEenVerhogen(lijstInteger);
  51.         weergevenLijst("oplossing: 5 4 10 8 13", lijstInteger);
  52.  
  53.         lijstInteger = metEenVerhogen_java8(lijstInteger);
  54.         weergevenLijst("oplossing: 6 5 11 9 14", lijstInteger);
  55.  
  56.         elementenMetOnevenIndexVerwijderen(lijstInteger);
  57.         weergevenLijst("oplossing: 6 11 14", lijstInteger);
  58.  
  59.         elementenToevoegenNaOnevenGetallen(lijstInteger);
  60.         weergevenLijst("oplossing: 6 11 13 14", lijstInteger);
  61.        
  62.         String woorden[] = {"aaa", "bbb", "ccc", "ddd", "eee", "fff"};
  63.  
  64. //Creëer de LinkedList "lijstString" en vul op met de array "woorden" (1 instructie)
  65. //-----------------------------------------------------------------------
  66.         List<String> lijstString = new LinkedList<>(Arrays.asList(woorden));
  67.        
  68.         elementenMetOnevenIndexVerwijderen(lijstString);
  69.  
  70.         weergevenLijst("oplossing: aaa ccc eee", lijstString);
  71.        
  72.         weergevenLijstOmgekeerdeVolgorde(
  73.         "oplossing: eee ccc aaa", lijstString);
  74.  
  75.     }
  76.  
  77.     public void metEenVerhogen(List<Integer> lijst) //------------
  78.     {
  79.         //Alle elementen van de lijst wijzigen:
  80.         //alle elementen worden met één verhoogd
  81.         //JAVA 7:   IMPLICIET GAAT NIET (IMMUTABLE)
  82.         //EXPLICIET met ListIterator
  83. //      ListIterator<Integer> it = lijst.listIterator();
  84. //      while(it.hasNext()) {
  85. //          int elem = it.next();
  86. //          it.set(elem + 1);
  87. //      }
  88.        
  89.         //EIGEN OPLOSSING = JAVA 8      BEST
  90.         lijst.replaceAll(elem -> elem+1);
  91.         //LES OPLOSSING
  92.  
  93.     }
  94.  
  95.     public List<Integer> metEenVerhogen_java8(List<Integer> lijst)
  96.     {
  97.         //De elementen van lijst worden met één verhoogd en worden
  98.         //als nieuwe List<Integer> teruggegeven.
  99.         //JAVA 8:
  100. //      lijst.remove(2);//WIJZIG ook bij lijst van aanroep ==  zo ook met replaceAll
  101.         //EIGEN OPLOSSING
  102.         return lijst.stream()
  103.                 .map(elem->elem+1)
  104.                 .collect(Collectors.toList());
  105.         //LES OPLOSSING
  106.    
  107.     }
  108.    
  109.     //generieke methode:
  110.     public <T> void elementenMetOnevenIndexVerwijderen(List<T> lijst) //---                                           -------------
  111.     {
  112.         //Alle elementen, met oneven index, verwijderen (enkel met een iterator werken)
  113.         //-----------------------------------------------------------------------------
  114.        
  115.         ListIterator<T> it = lijst.listIterator();
  116.         while(it.hasNext()) {
  117.             it.next();
  118.             if(it.hasNext()) {
  119.                 it.next();
  120.                 it.remove();
  121.             }
  122.         }
  123.  
  124.     }
  125.    
  126.     public void elementenToevoegenNaOnevenGetallen(List<Integer> lijst) //-----------
  127.     //Na ieder oneven getal wordt hetzelfde getal+2 toegevoegd in de Lijst
  128.     //vb. 5 10 13 wordt 5 7 10 13 15
  129.     //---------------------------------------------------
  130.     {
  131.         ListIterator<Integer> it = lijst.listIterator();
  132.         while(it.hasNext()) {
  133.             int elem = it.next();
  134.             if(elem%2!=0) {
  135.                 it.add(elem+2);
  136.             }
  137.         }
  138.     }
  139.  
  140.     //generieke methode:
  141.     public <T> void weergevenLijst(String oplossing, Collection<T> lijst) //---                                       -------------
  142.     // Alle elementen van de Collection<Integer> weergeven
  143.     //---------------------------------------------------
  144.     {
  145.         System.out.printf("%s%n%s", oplossing, "           ");
  146.         //TODO
  147.         lijst.forEach(elem -> System.out.printf("%s ", elem));
  148.         System.out.println();
  149.     }
  150.    
  151.     //generieke methode:
  152.     public <T> void weergevenLijstOmgekeerdeVolgorde(
  153.         String oplossing, List<T> lijst) {
  154.     // Alle elementen van de List<Integer> in omgekeerde volgorde weergeven
  155.     //--------------------------------------------------------------------------------------
  156.        System.out.printf("%s%n%s", oplossing, "           ");
  157.        //TODO: JAVA 7:
  158.  
  159. //       List<T> hulp = new ArrayList<T>(lijst);
  160. //       Collections.reverse(hulp);
  161. //       hulp.forEach(elem->System.out.printf("%s ",elem));
  162.        
  163.        
  164. //     Collections.reverse(lijst);      NIET GOED ORIGINELE LIJST WORDT OMGEDRAAID
  165. //       lijst.forEach(elem->System.out.printf("%s ", elem));
  166. //       NOOIT MET INDEX ALS JE ER HELEMAAL DOOR MOET LOPEN altijd met iterator
  167.        ListIterator<T> it = lijst.listIterator(lijst.size());
  168.        while(it.hasPrevious()) {
  169.            System.out.printf("%s ",it.previous());
  170.        }
  171.        
  172.        System.out.println();
  173.  
  174.        
  175.        System.out.println(
  176.            "java 8 lijst omgekeerde volgorde: ");
  177.        System.out.printf("%s%n%s", oplossing, "           ");
  178.        //TODO: JAVA8:
  179.        new LinkedList<T>(lijst)
  180.        .descendingIterator()
  181.        .forEachRemaining(elem->System.out.printf("%s ", elem));
  182.        
  183.        System.out.println();
  184.     }
  185.  
  186.     public static void main(String args[]) {
  187.         new OefLinkedList_opgave();
  188.     }
  189. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top