Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
codding:java8_lambda_use_cases [2014/08/21 08:40] yehudacodding:java8_lambda_use_cases [2022/01/03 16:03] (current) – external edit 127.0.0.1
Line 34: Line 34:
 } }
 </code> </code>
 +
 +===== Listener =====
 +Java Way
 +<code java>
 +public class ListenerTest {
 +  public static void main(String[] args) {
 +        
 +    JButton testButton = new JButton("Test Button");
 +    
 +    testButton.addActionListener(new ActionListener(){
 +    @Override public void actionPerformed(ActionEvent ae){
 +        System.out.println("Click Detected by Anon Class");
 +      }
 +    });
 +        
 +    // Swing stuff
 +    JFrame frame = new JFrame("Listener Test");
 +    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 +    frame.add(testButton, BorderLayout.CENTER);
 +    frame.pack();
 +    frame.setVisible(true);
 +    
 +  }
 +}
 +</code>
 +
 +Lambda Way
 +<code java>
 +public class ListenerTest {
 +  public static void main(String[] args) {
 +        
 +    JButton testButton = new JButton("Test Button");    
 +    testButton.addActionListener(e -> System.out.println("Click Detected by Lambda Listner"));
 +    
 +    // Swing stuff
 +    JFrame frame = new JFrame("Listener Test");
 +    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 +    frame.add(testButton, BorderLayout.CENTER);
 +    frame.pack();
 +    frame.setVisible(true);
 +    
 +  }
 +}
 +</code>
 +===== Improve Code =====
 +Java Way
 +<code java>
 +public class Person {
 +new Thread(new Runnable() {
 +    @Override
 +    public void run() {
 +        System.out.println("Hello from thread");
 +    }
 +}).start();
 +</code>
 +
 +Lambda Way
 +<code java>
 +new Thread(
 +    () -> System.out.println("Hello from thread")
 +).start();
 +</code>
 +
 +===== Foreach =====
 +Define:
 +<code java>
 +List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
 +</code>
 +
 +Java Way
 +<code java>
 +for(Integer n: list) {
 +    System.out.println(n);
 +}
 +</code>
 +
 +Lambda Way
 +<code java>
 +list.forEach(n -> System.out.println(n));
 +</code>
 +
 +Java8 Way
 +<code java>
 +list.forEach(System.out::println);
 +</code>
 +
 +===== Foreach and Multiply =====
 +<code java>
 +List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
 +</code>
 +
 +Java Way
 +<code java>
 +for(Integer n : list) {
 +    int x = n * n;
 +    System.out.println(x);
 +}
 +</code>
 +Lambda Way
 +<code java>
 +list.stream().map((x) -> x*x).forEach(System.out::println);
 +</code>
 +
 +===== MapReduce in java=====
 +<code java>
 +List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
 +</code>
 +Java Way
 +<code java>
 +int sum = 0;
 +for(Integer n : list) {
 +    int x = n * n;
 +    sum = sum + x;
 +}
 +System.out.println(sum);
 +</code>
 +Lambda Way
 +<code java>
 +int sum = list.stream().map(x -> x*x).reduce((x,y) -> x + y).get();
 +System.out.println(sum);
 +</code>
 +
 +
codding/java8_lambda_use_cases.1408610418.txt.gz · Last modified: (external edit)
Back to top
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0