آموزش از مجموعه ها به جریان های جاوا 8 با استفاده از عبارات Lambda

From Collections to Streams in Java 8 Using Lambda Expressions

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: این دوره الگوهای جدید معرفی شده در Java 8 را بر اساس عبارات lambda ، رابط های عملکردی ، Collection Framework و Stream API نشان می دهد. Java 8 الگوهای جدید زیادی را برای ساخت برنامه های کارآمد و تمیز به ارمغان آورد. در این دوره ، ما یک مهمترین چیز جدید را پوشش می دهیم: عبارات لامبدا. Lambdas چیز خوبی است ، اما بدون الگوهای جدید برای پردازش داده ها بی فایده است. این الگوهای جدید به مجموعه چارچوب ، و به یک API جریان جدید اضافه شده است. این دوره به سرعت توضیح می دهد که الگوی نقشه/فیلتر/کاهش چیست و چرا به Stream API اضافه شده است. این API جدید دقیقاً شرح داده شده است: چگونگی استفاده از آن برای پردازش موثر داده ها و نحوه استفاده موازی آن. غارنوردی و موارد گوشه ای نیز نشان داده شده است.

سرفصل ها و درس ها

عبارات Lambda و رابط های عملکردی Lambda Expressions and Functional Interfaces

  • مقدمه ای بر دوره Introduction to the Course

  • در این دوره می خواهید چه چیزهایی یاد بگیرید؟ What Are You Going to Learn in This Course?

  • دستور کار دوره Agenda of the Course

  • شما کی هستید؟ برای پیگیری این دوره چه باید بدانید؟ Who Are You? What Should You Know to Follow This Course?

  • دستور کار این ماژول Agenda of This Module

  • بیان لامبدا: مقدمه ، نمونه هایی از کلاس های ناشناس Lambda Expression: Introduction, Instances of Anonymous Classes

  • Lambda Expression: کد عبور به عنوان یک پارامتر Lambda Expression: Passing Code as a Parameter

  • اجازه دهید اولین عبارات ساده و ساده لامبدا را بنویسیم Let Us Write Our First, Simple Lambda Expressions

  • بیان لامبدا: سخنان و دقت ها Lambda Expression: Remarks and Precisions

  • مراجع روش: اولین مثال با متد نمونه Method References: A First Example with an Instance Method

  • مراجع روش: مثال دوم با روش استاتیک Method References: A Second Example with a Static Method

  • مراجع روش: الگوی System.out.println Method References: The System.out.println Pattern

  • نحوه ایجاد API جدید: روشهای پیش فرض و استاتیک در رابط ها How to Create New API: Default and Static Methods in Interfaces

  • مقدمه کدگذاری زنده: مثال مقایسه کننده Live Coding Introduction: The Comparator Example

  • پیاده سازی یک مقایسه کننده با عبارات Lambda Implementing a Comparator with Lambda Expressions

  • مقایسه بر اساس سن ، نام خانوادگی و نام خانوادگی Comparing by Age, Last Name, and First Name

  • Refactoring مقایسه با یک Key Extractor Refactoring the Comparison with a Key Extractor

  • پیاده سازی روش مقایسه استاتیک Comparator.com Implementing the Comparator.comparing Static Method

  • ساخت کلید اصلی استخراج کننده ، بازگشت اشیا قابل مقایسه Making the Key Extractor Generic, Returning Comparable Objects

  • Chaining Comparators با روش thenComparating Default Chaining Comparators with the thenComparing Default Method

  • نوشتن مقایسه. سپس مقایسه عملکرد Writing the Comparator.thenComparing Implementation

  • نوشتن الگوی ایجاد و زنجیر مقایسه نهایی Writing the Final Comparator Creation and Chaining Pattern

  • بسته بندی ماژول Wrap-up of the Module

نوشتن توابع پردازش داده با Lambdas در جاوا 8 Writing Data Processing Functions with Lambdas in Java 8

  • معرفی ماژول Introduction to the Module

  • رابط کاربری چیست؟ مثال اخباری What Is a Functional Interface? The Predicate Example

  • نحوه پیاده سازی یک رابط کاربری با عبارت Lambda How to Implement a Functional Interface with a Lambda Expression

  • چگونه کامپایلر نوع عبارت Lambda را تشخیص می دهد؟ How Does the Compiler Recognize the Type of a Lambda Expression?

  • لامبدا هنوز یک رابط با روش های قابل استفاده است A Lambda Is Still an Interface with Usable Methods

  • رابط کاربری: تعریف کامل و دقیق Functional Interface: The Complete and Exact Definition

  • نحوه استفاده از حاشیه نویسیFunctionalInterface How to Use the @FunctionalInterface Annotation

  • چهار دسته بسته java.util.function The Four Categories of the java.util.function Package

  • دسته اول: مصرف کنندگان First Category: The Consumers

  • دسته دوم: تأمین کننده Second Category: The Supplier

  • دسته سوم: توابع Third Category: The Functions

  • دسته چهارم: پیش بینی ها Fourth Category: The Predicates

  • رابط های کاربردی برای انواع اولیه جاوا Functional Interfaces for Java Primitive Types

  • مقدمه ای بر قسمت برنامه نویسی زنده: مثال قید Introduction to the Live Coding Section: The Predicate Example

  • نوشتن و استفاده از یک عبارت ساده و پیشگو Lambda Writing and Using a First, Simple Predicate Lambda Expression

  • پیش بینی های زنجیره ای با عملیات AND Boolean Chaining Predicates with the AND Boolean Operation

  • افزودن متد a و () بر روی رابط کاربری predictate Adding a and() Method on the Predicate Functional Interface

  • پیاده سازی روش (و) پیش فرض بر روی رابط predict Implementing the and() Default method on the Predicate Interface

  • افزودن روش پیش فرض یا () بر روی رابط predict Adding a or() Default Method on the Predicate Interface

  • ایجاد پیش بینی ها با تماس استاتیک با یک رابط کاربری Creating Predicates with a Static Call on a Functional Interface

  • ساخت روش isEqualsTo () Generic از رابط predict Making the isEqualsTo() Method Generic of the Predicate Interface

  • بسته بندی کامل برنامه نویسی Live Coding Wrap-up

  • بسته بندی ماژول ، ارائه ماژول بعدی Module Wrap-up, Presentation of the Next Module

پردازش داده ها با استفاده از Lambdas و چارچوب مجموعه Data Processing Using Lambdas and the Collection Framework

  • معرفی ماژول Introduction to the Module

  • اولین روشهای تکرارپذیری ، جمع آوری و لیست First Methods on Iterable, Collection and List

  • روش اول روی نقشه: forEach () First Method on Map: forEach()

  • روش های بیشتر روی نقشه: getOrDefault () More Methods on Map: getOrDefault()

  • روش های بیشتر روی نقشه: putIfAbsent () More Methods on Map: putIfAbsent()

  • روشهای بیشتر روی نقشه: جایگزین کردن () و جایگزین کردن همه () More Methods on Map: replace() and replaceAll()

  • الگوی جدید روی نقشه: remove () New Pattern on Map: remove()

  • New Patterns on Map: روش محاسبه () New Patterns on Map: The compute() method

  • الگوهای جدید روی نقشه: computeIfAbsent () ، computeIfPresent () New Patterns on Map: computeIfAbsent(), computeIfPresent()

  • ساخت نقشه های نقشه ها و نقشه های لیست ها با computeIfAbsent () Building Maps of Maps and Maps of Lists with computeIfAbsent()

  • New Pattern on Map: روش Merge () New Pattern on Map: The merge() method

  • استفاده از merge () برای ادغام دو نقشه با هم Using merge() to Merge Two Maps Together

  • مقدمه جلسه برنامه نویسی زنده ، forEach () در عمل Live Coding Session Introduction, forEach() in Action

  • روش های removeIf () ، alternativeAll () ، مرتب سازی () در عمل Methods removeIf(), replaceAll(), sort() in Action

  • تنظیم مقدار پیش فرض برای map.get (): getOrDefault () Setting Default Value for map.get(): getOrDefault()

  • افزودن جفت کلید/مقدار پیش فرض: putIfAbsent ، computeIfAbsent Adding Default key / value pairs: putIfAbsent, computeIfAbsent

  • ادغام نقشه ها با روش map.merge () Merging Maps with the map.merge() Method

  • ادغام نقشه ها: تجزیه و تحلیل نتیجه Merging Maps: Analysis of the Result

  • کدگذاری زنده و بسته بندی ماژول Live Coding and Module Wrap-up

اجرای فیلتر فیلتر با استفاده از Lambdas و مجموعه ها کاهش می یابد Implementing Map Filter Reduce Using Lambdas and Collections

  • معرفی ماژول Introduction to the Module

  • محاسبه میانگین افراد مسن تر از 20 سال ، برگرفته از یک لیست Computing the Average of People Older than 20, Taken From a List

  • نقشه/فیلتر/کاهش: توضیح دقیق Map / filter / reduce: A Precise Explaination

  • اولین اجرای ، به روش JDK7 A First Implementation, in the JDK7 Way

  • نگاه دقیق تر به مرحله کاهش: چگونه کار می کند؟ A Closer Look at the Reduction Step: How Does it Work?

  • اجرای موازی مرحله کاهش Parallel Implementation of the Reduction Step

  • First Caveat: عملیات کاهش غیر مشارکتی First Caveat: Non-associative Reduction Operations

  • چگونه می توان عملیات کاهش غیر مشارکتی را تشخیص داد How to Detect Non-associative Reduction Operations

  • Caveat Second: کاهش Singleton Second Caveat: Reduction of a Singleton

  • Caveat Second: کاهش مجموعه ای با چندین عنصر Second Caveat: Reduction of a Set with Several Elements

  • هشدار دوم: کاهش که دارای عنصر هویت نیستند Second Caveat: Reduction That Do Not Have Identity Element

  • برنامه نویسی زنده: تنظیم محیط Live Coding: Setting up the Environment

  • شبیه سازی محاسبه موازی کاهش غیر تداعی Simulating Parallel Computation of a Non-associative Reduction

  • کاهش غیر تداعی: عملکرد متوسط کاهش Non-associative Reduction: The Average Reduction Operation

  • محاسبه حداکثر: کاهش بدون هیچ عنصر هویتی Computing a Max: Reduction with No Identity Element

  • بسته بندی کامل برنامه نویسی Live Coding Wrap-up

  • استفاده از گزینه های اختیاری برای کنترل کاهش ها بدون هیچ عنصر هویتی Using Optionals to Handle Reductions with No Identity Element

  • در مرحله کاهش قرار دهید Wrap-up on the Reduction Step

  • پیاده سازی به روش JDK7: نگاه دقیق تر Implementation in the JDK7 Way: a Closer Look

  • ارزیابی CPU Load و Memory Footprint CPU Load and Memory Footprint Evaluations

  • نمونه ای از عملیات کاهش AllMatch: بهینه سازی های از دست رفته Example of an allMatch Reduction Operation: Lost Optimizations

  • چرا این اول است ، باید از اجرای ساده لوحانه خودداری شود Why Is this First, Naive Implementation Should be Avoided

  • نگاهی اجمالی به اولین بار در API جریان A First Glimpse at the Stream API

  • بسته بندی ماژول Module Wrap-up

API جریان ، نحوه ایجاد جریان ، اولین الگوها The Stream API, How to Build Streams, First Patterns

  • معرفی ماژول Introduction to the Module

  • اولین تعریف فنی از رابط جریان A First Technical Definition of the Stream Interface

  • اولین تعاریف مفهوم جریان First Definitions of the Concept of Stream

  • مفهوم جریان نامحدود The Notion of Unbounded Stream

  • چگونه می توان جریان ها را ایجاد کرد: جریان های خالی ، Singletons ، Varargs How to Build Streams: Empty Streams, Singletons, varargs

  • نحوه ایجاد جریان ها: الگوی تولید کننده و تکرار کننده How to Build Streams: The Generator and Iterator Pattern

  • نحوه ایجاد جریان در رشته ها ، عبارات منظم و پرونده های متنی How to Build Streams on Strings, Regular Expressions, and Text Files

  • جریان. الگوی سازنده The Stream.Builder Pattern

  • نقشه/فیلتر/الگوی نوشته شده با جریان را کاهش دهید The map / filter / reduce Pattern Written with a Stream

  • مثال دوم از ap/فیلتر/کاهش الگو در جریان ها A Second Example of the ap / filter / reduce Pattern on Streams

  • تماس های میانی و پایانی در جریان ها: peek () و forEach () Intermediate and Terminal Calls on Streams: peek() and forEach()

  • چگونه می توان تماس تلفنی را از طریق تماس ترمینال تشخیص داد How to Tell an Intermediate Call from a Terminal Call

  • انتخاب دامنه داده ها در جریان ها: جست و خیز () و محدودیت () Selecting Ranges of Data in Streams: skip() and limit()

  • کاهش ساده: مسابقات ، کاهش اتصال کوتاه Simple Reductions: Matchers, Short-circuiting Reductions

  • کاهش یاب ، استفاده از گزینه های اختیاری Finder Reductions, Use of Optionals

  • نمونه ای از کاهش های یاب: findFirst ()، findAny () Example of Finder Reductions: findFirst(), findAny()

  • کاهش عمومی: استفاده از روش کاهش () General Reductions: Use of the reduce() Method

  • مقدمه جلسه برنامه نویسی زنده Live Coding Session Introduction

  • نمونه ای از اولین جریان ساده ساخته شده در vararg Example of a First Simple Stream Built on a vararg

  • ایجاد یک جریان: الگوی تولید ، استفاده از حد () Building a Stream: The Generate Pattern, Use of Limit()

  • ایجاد جریان: الگوی تکرار نشدنی Building a Stream: The Iterate Pattern

  • ایجاد جریانهای اعداد تصادفی با استفاده از موارد تصادفی () Bulding Streams of Random Numbers Using Random.ints()

  • جمع بندی جلسه برنامه نویسی زنده Live Coding Session Wrap-up

  • بسته بندی ماژول و دوره Module and Course Wrap-up

نمایش نظرات

آموزش از مجموعه ها به جریان های جاوا 8 با استفاده از عبارات Lambda
جزییات دوره
4h 1m
113
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
403
4.5 از 5
دارد
دارد
دارد
Jose Paumard
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Jose Paumard Jose Paumard

خوزه با علاقه بیش از 20 سال در مورد برنامه نویسی رایانه ها ، اولین بار در مونتاژ و C ، C برای ماشین های موازی SIMD قبل از استفاده از جاوا به عنوان یک زبان شی گرا ، برای بسیاری از عمده ترین برنامه های مدرن ضروری بود. او تخصص و ظرفیت خود را برای تجزیه و تحلیل و ترکیب در بسیاری از پروژه ها ، عمدتا در لایه های پایین تر ، نزدیک به داده ها ، بلکه همچنین در مورد طراحی پیچیده رابط کاربر یا مرورگر ، به ارمغان می آورد. دکترای ریاضیات کاربردی و علوم کامپیوتر ، استادیار دانشگاه پاریس نور به مدت 15 سال ، خوزه همچنین اشتیاق زیادی به آموزش و انتقال دانش دارد. او برای هزاران نفر از توسعه دهندگان فرانسوی زبان در سراسر جهان ، وبلاگ ، جاوا le soir ، منبع مستند فرانسه در مورد فن آوری های جاوا می نویسد. وی عضوی از گروه کاربران فرانسوی جاوا در پاریس و از سازمان دهندگان کنفرانس Devoxx France است.