View Javadoc
1   package fr.univtln.bruno.samples.java101.tp3;
2   
3   import fr.univtln.bruno.samples.java101.tp3.bestpractices.CollectionBestPractices;
4   import fr.univtln.bruno.samples.java101.tp3.comparable.ComparatorExamples;
5   import fr.univtln.bruno.samples.java101.tp3.functional.CollectorsExamples;
6   import fr.univtln.bruno.samples.java101.tp3.functional.StreamBasicsExamples;
7   import fr.univtln.bruno.samples.java101.tp3.list.ListExamples;
8   import fr.univtln.bruno.samples.java101.tp3.map.MapExamples;
9   import fr.univtln.bruno.samples.java101.tp3.queue.QueueExamples;
10  import fr.univtln.bruno.samples.java101.tp3.set.SetExamples;
11  import lombok.extern.slf4j.Slf4j;
12  
13  /**
14   * Small demo runner that executes representative examples from TP3 (Collections & Streams).
15   *
16   * <p>This class logs labeled sections and invokes selected example methods from the
17   * subpackages so students can run a compact demonstration of the module.</p>
18   */
19  @Slf4j
20  public class Demo {
21    /**
22     * Private constructor to prevent instantiation.
23     */
24    private Demo() {
25    }
26  
27    /**
28     * Demo runner for TP3 examples (logs output via SLF4J).
29     *
30     * @param args ignored
31     */
32    public static void main(String[] args) {
33      log.info("==== TP3 Demo (Collections & Streams) ====");
34  
35      // Each block invokes a representative subset to keep output readable.
36      log.info("-- ListExamples --");
37      ListExamples.arrayListExample();
38      ListExamples.sortingExample();
39  
40      log.info("-- SetExamples --");
41      SetExamples.hashSetExample();
42      SetExamples.setOperationsExample();
43  
44      log.info("-- MapExamples --");
45      MapExamples.hashMapExample();
46      MapExamples.modernMapMethodsExample();
47  
48      log.info("-- QueueExamples --");
49      QueueExamples.priorityQueueExample();
50      QueueExamples.taskSchedulingExample();
51  
52      log.info("-- ComparatorExamples --");
53      ComparatorExamples.customComparatorExample();
54      ComparatorExamples.comparatorChainingExample();
55  
56      log.info("-- StreamBasicsExamples --");
57      StreamBasicsExamples.streamCreationExample();
58      StreamBasicsExamples.distinctSortedLimitExample();
59  
60      log.info("-- StreamCollectorsExamples (CollectorsExamples) --");
61      CollectorsExamples.groupingAndCountingExample();
62      CollectorsExamples.terminalOperationsExample();
63  
64      log.info("-- CollectionBestPractices --");
65      CollectionBestPractices.defensiveCopyingExample();
66      CollectionBestPractices.commonPitfallsExample();
67  
68      log.info("==== End of TP3 demonstration ====");
69    }
70  }