강의

멘토링

로드맵

BEST
Programming

/

Web Development

Real-World Java - Advanced Part 3, Lambda, Streams, and Functional Programming by Kim Young-han

Learn the essential modern Java technologies of Lambda, Stream, and functional programming with Java, from the basics to the practical level, in depth.

(4.9) 226 reviews

3,810 learners

  • yh
Java
Functional Programming
Lambda
optional

Reviews from Early Learners

What you will learn!

  • Lambda

  • Functional Interface

  • Stream API

  • 선택 사항

  • Functional programming

Ranked 1st in cumulative number of students enrolled in domestic development field
Kim Young-han's Practical Java Made Right

Just knowing Java grammar? That won't do!

Former Technology Director of Woowa Brothers, Cumulative Students Surpass 400,000
Why Kim Young-han created Java lectures

•••

“I wanted to create a proper Java course that would create proper developers needed for real work.”

The latest Java syntax and techniques that shine in practice

So far, we have covered the basics of Java through Java Introductory, Basic, and Intermediate 1 and 2, and learned advanced technologies such as multithreading, I/O, networking, reflection, and annotations through Advanced 1 and 2 .

In this "Advanced Java 3" lesson, you will learn new grammar and techniques frequently used in modern Java, such as lambda, stream, and functional programming.

  • Lambda

  • Stream

  • Functional Programming

Kim Young-han's Practical Java Roadmap

This lecture is the last lecture of Kim Young-han's Practical Java Roadmap , and is intended for those who have learned basic Java grammar and OOP (classes, generics, collections, data structures), multithreading, input/output, and network utilization.

>> Introducing the Java Roadmap Guide to help you learn effectively and appropriately for your purpose .

The lecture "Kim Young-han's Practical Java - Advanced Part 3"

The importance of essential understanding

Rather than simply learning Java's syntax and features, we delve deeply into why those features are necessary and how they can be applied in practice.

A practical approach

Rather than simply conveying theories, it provides step-by-step understanding of the necessity of Java technology through illustrations and example codes that help understanding. In addition, through various examples, you can understand how each technology is utilized in practice.

Our goal is more than just grammar.

This advanced 3-part course aims to completely master functional programming using lambdas, streams, and Java from the basics to the level required for practical use.

In particular, rather than simply learning the grammar of lambda and streams, you will learn in depth how to properly apply these cutting-edge technologies in practice through various practical examples and best practices.

I will teach you how to apply and utilize technologies like lambda, streams, and functional programming in practice, beyond simply knowing them.

Lecture Contents

  • Learn the basics and usage of Lambda, and practice implementing filters, maps, streams, etc.

  • Learn the basic theory and various functions (filter, map, flatMap, etc.) of the stream API, and learn how to use stream collectors and parallel streams.

  • Learn additional features such as Optional and default methods, and learn how to apply them correctly in practice.

  • Understand programming paradigms such as imperative, object-oriented, and functional, and learn functional programming in Java in an easy-to-understand way through code.


Lambda and functional programming core summary

Mastering the basics of lambda and functional interfaces

Learn about the necessity, definition, grammar, and usage tips of lambda. Also, learn about functional interfaces, an essential concept used with lambda, and learn how to effectively utilize various interfaces built into the Java standard API.

Practical use of lambda and method reference

Learn the core usage of lambdas in real-world code. Also, learn how to properly use lambdas by comparing their differences with anonymous classes, and understand how to increase code conciseness through method references added in Java 8.

Complete understanding of Stream API and practical application

Stream API Basics

The Stream API, along with Lambda, presents a new paradigm for handling Java collections. We will organize the structure and basic usage of streams so that they are easy to understand, and learn how to write more concise and intuitive code by learning the core functions provided by streams such as filtering, mapping, sorting, and reducing.

Deeper streams, using collectors

Learn the concept of Collector for data collection and processing, and cover various collection techniques such as collect() , groupingBy() , and partitioningBy() . Learn essential skills in practice through practical examples.

Advanced add-ons and functional programming

Advanced Add-ons

Learn advanced features added in Java 8. Learn how to prevent NPE problems using Optional and maintain compatibility when extending interfaces using default methods. Also, learn techniques to maximize performance in multicore environments using parallel streams.

Functional Programming

Learn how to implement the functional programming paradigm using features added after Java 8, such as lambda, stream API, and Optional. Compare various paradigms, such as imperative, object-oriented, declarative, and functional, and acquire practical know-how to effectively apply functional programming in Java.

“Rather than thinking about what more I should teach, I thought more deeply about what absolutely must be known.”

In this 'Kim Young-han's Practical Java Java Roadmap', my goal is to create a capable developer who has solid fundamentals that are necessary for actual work. The fundamentals that are built over a long period of time become more valuable as time goes by. I hope that this lecture will serve as a foundation for you to easily and quickly absorb the numerous practical technologies that you will encounter in the field and grow into a developer who grows more enjoyably.

Recommended for
these people

Who is this course right for?

  • Aspiring developer

  • For those who have studied Java but want to solidify the fundamentals

  • Developers who want to gain a deeper understanding of Java for practical use.

Need to know before starting?

  • Kim Young-han's Practical Java - Advanced Part 1 - Multi-threading and Concurrency

  • Kim Young-han's Practical Java - Intermediate Level 1 & 2

  • Kim Young-han's Practical Java - Fundamentals

Hello
This is

559,468

Learners

36,767

Reviews

8,971

Answers

5.0

Rating

25

Courses

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

Curriculum

All

99 lectures ∙ (16hr 40min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

226 reviews

4.9

226 reviews

  • bonjeong088610님의 프로필 이미지
    bonjeong088610

    Reviews 2

    Average Rating 5.0

    Edited

    5

    100% enrolled

    The best choice I made before enlisting 😊 ++ After completing the course: I first learned Java last year when I entered university. There, I came across Kim Young-han's lectures through a recommendation from a senior, and I was very impressed with the way he explained everything from the principles, step by step, in the introductory and basic courses, even though I knew nothing. Thanks to the hand-drawn illustrations and well-organized PDFs, I was able to learn Java in a fun way and build a solid foundation. And while learning the intermediate and advanced courses, I think I fell in love with the charm of Java and object-oriented programming with fun elements like various design patterns. I started last year and learned a lot while taking Young-han's Java roadmap from the introductory to advanced courses for a year. Thanks to that, I got an A+ and I'm grateful! I'm also looking forward to any additional lectures! Thank you.

    • yh
      Instructor

      Thank you, bonjeong08 :) Reading bonjeong08's review suddenly reminds me of a story from 20 years ago 😊😊😊 I had a senior colleague whom I respected, and he had studied Java in the military. When I asked him how he studied, he said he carried around a very thick Java book and kept simulating in his head without a computer 😊😊 I'm rooting for you, bonjeong08 :)

  • xuv2님의 프로필 이미지
    xuv2

    Reviews 20

    Average Rating 4.8

    Edited

    5

    27% enrolled

    Hello Younghan, first of all, congratulations on successfully completing the Java roadmap! I was really looking forward to this third Java installment, as it covers modern syntax (Lambda, Stream) that I've been wanting to learn so much. I initially intended to take the wild course, but after facing setbacks with Lambda and Optional in the Spring introduction, I decided to complete the entire Java roadmap first. Starting with the introduction, I've now reached the final lecture. Having taken all the Java roadmap courses and reviewed them at least twice, I believe this Java roadmap is truly "an in-depth course based on programming and computer science, not just a simple Java language course." In the past, I had tried to understand Lambda syntax by haphazardly searching through books or online, but I never fully grasped how to actually use it. I tend to be intimidated by unfamiliar terms like functional programming and Lambda. However, from the very beginning of this lecture, the statement "Everyone, Lambda is also an object" immediately helped me understand the content that I had previously found difficult. I wondered why my university professor never mentioned that Lambda is an object, which made me go through so much trouble, and I felt grateful to Younghan for making me understand it with just that one sentence.😆😆😆. Through the introductory and basic courses, I was able to solidify my Java fundamentals. Through the intermediate course, I clearly understood how to handle exceptions and which data structures to use in different situations, and I attempted my first coding test. Through the advanced course 1, I learned about multithreading -> frameworks utilizing multithreading. Through the advanced course 2, I got a taste of how to create dynamic programs through networking and reflection. And through this advanced course 3, I was able to learn about Java syntax that is already commercialized, even though it is considered modern. Also, throughout this entire process, I naturally acquired a lot of computer science knowledge without specifically studying it. In particular, when I first encountered the SOLID principles, I didn't easily understand what each principle meant. However, when I reread the principles towards the end of this roadmap, I realized that they were composed of things that I already considered obvious. Although I may not be able to create something immediately with these advanced skills I've learned, I believe I've taken a step towards Spring, and I'll diligently follow the Spring roadmap as well! "Everything is an object in Java!" "All functions are not some magical trick, but functions written in Java code!" I will keep these two statements in mind and review diligently. I wish you continued success, and once again, congratulations on completing the Java roadmap!

    • yh
      Instructor

      It's rewarding to see you enjoying the course, xuv2! :) I'm especially glad to see you building a solid foundation in Java fundamentals, step by step. Looking back, I've realized that having a strong grasp of the basics is essential for a deeper understanding of practical technologies like Spring or JPA later on. I also appreciate that you noticed my efforts to explain not only Java syntax but also how essential basic CS concepts are applied in real-world scenarios. Your feedback is truly encouraging :) Thanks to you, I'm motivated to work even harder on preparing the next course! Enjoy your studies and keep growing!

  • dualis5731님의 프로필 이미지
    dualis5731

    Reviews 5

    Average Rating 5.0

    5

    61% enrolled

    When I first studied lambda expressions and streams, I used the book "Modern Java in Action." While reading this book, I felt like I was getting familiar with these technologies, and I thought the explanations were very well done. But after taking this course up to the streams section, I can confidently say that this course is overwhelmingly better. I haven't studied much, and maybe it's because my skills are lacking that I found other books/courses difficult, but this is the best course/book I've ever encountered. I loved that it didn't feel like the sections were divided, but rather connected, which allowed me to follow the flow. Although I felt there weren't many examples, each example was excellent. I'm currently taking the last course in Younghan's roadmap, and I think this is the best of all the courses. I don't think there's a better course/book for learning lambda expressions/streams for the first time, and I also don't think there's a better course/book for reorganizing your knowledge even if you already know them to some extent. I just wrote this in a stream of consciousness, so the writing is a bit of a mess, but either way, this course is divine. Thank you for creating such a great course. It seems like I can't leave more than two reviews, so I deleted the existing review and rewrote it. 😭😭

    • yh
      Instructor

      I'm glad to hear that you're enjoying studying, Mr. Jeong Dae-hoon! :) I've actually put a lot of effort into organically connecting the entire section like building blocks to naturally complete a big picture, so I appreciate you noticing these parts. I hope you continue to enjoy studying as you do now and grow significantly! ^^!

  • jjs0107135951님의 프로필 이미지
    jjs0107135951

    Reviews 5

    Average Rating 5.0

    5

    100% enrolled

    Hello! While taking this lecture, I could feel the beauty that the instructor talked about. Truly, the more I listened to the lecture, the more amazing and interesting the time became. It seems I also feel a sense of regret, to the point where this lecture felt exceptionally short. That's how much I think instructor 김영한 gave a good lecture. Now that you have completed the Java Roadmap, I want to say you truly worked hard. Actually, knowing that this lecture was prepared, edited, pondered over again and again, and uploaded by you alone, I think I also approached it with a passionate attitude, inspired by the instructor's passion. I am currently a 4th-year student in the Department of Computer Engineering at university. I am currently taking a lecture on learning the Spring Framework for backend programming, and what I felt while listening was that my coding skills truly improved several times over, just as the instructor said, like a sponge absorbing. In my current project as well, by applying the Lambda technology I just learned where it can be applied, I was able to become even closer to Lambda. Thank you for coming with such a good lecture this time too! I will continue to strive to become a steadily progressing developer! In my path as a developer, instructor 김영한 is a reliable presence, as if walking together. I respect you!! Thank you!

    • yh
      Instructor

      Thank you, 열정맨님, for the review that is also encouraging to me! If you felt the beauty of development through this course, you'll be able to continue growing well as a developer with curiosity and enjoyment :) I encourage you to study joyfully and consistently, so that you may grow significantly!

  • sskim91님의 프로필 이미지
    sskim91

    Reviews 10

    Average Rating 5.0

    5

    100% enrolled

    Every time I listen to Younghan's lectures, I find myself eagerly working through each section just to hear the final "Next" segment. The lectures are, needless to say, systematically structured step by step, allowing me to stay fully engaged until the end, and they contain so much knowledge applicable to real work that I stay motivated throughout my learning. Especially in the "Next" sections, through Younghan's personal experiences and inspiring stories, I gain valuable insights that help me grow not just as a developer, but as a person - going beyond simply learning a programming language. This gives me great strength. I'm always grateful for the sense of achievement when completing a course and the valuable learning I gain from it. I hope you have a wonderful and happy time during the Chuseok holiday!

    • yh
      Instructor

      Thank you, Tough Guy, for diligently listening to this lecture as well. I hope you have a happy holiday with your family :)

Limited time deal ends in 5 days

$45.10

24%

$59.40

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!