Java Util компараторы функционалды интерфейс пе?
Java Util компараторы функционалды интерфейс пе?

Бейне: Java Util компараторы функционалды интерфейс пе?

Бейне: Java Util компараторы функционалды интерфейс пе?
Бейне: Лекция 7. Элементы функционального программирования на Java 2024, Сәуір
Anonim

Кіріспе. The салыстырмалы интерфейс коллекциялардағы объектілерді салыстыру және сұрыптау болып табылатын мәнін сақтай отырып, Java8-де күрделі жөндеуден өтті. Салыстырғыш енді lambda өрнектері арқылы мәлімдемелерді қолдайды, себебі ол a Функционалдық интерфейс . Мұнда қарапайым бастапқы код берілген java.

Осыған байланысты компаратор функционалды интерфейс пе?

Java тіліндегі барлық нысандарда equals() әдісінің іске асырылуы бұрыннан бар, себебі олар оны Object сыныбынан мұралайды. Сонымен, Салыстырғыш Бұл функционалды интерфейс өйткені бір ғана орындалмаған дерексіз әдіс бар: салыстыру (T o1, T o2).

Сондай-ақ, компаратор Java жасайды деген сұрақ туындауы мүмкін. Java компараторы сұрыптауға арналған интерфейс болып табылады Java нысандар. Шақырған « java . салыстырушы ,” Java компараторы екеуін салыстырады Java нысандарды «салыстыру(01-объект, 02-объект)» пішімінде. Конфигурацияланатын әдістерді қолдану, Java компараторы оң, тең немесе теріс салыстыруға негізделген бүтін санды қайтару үшін нысандарды салыстыра алады.

Сонымен қатар, Java-да функционалды интерфейсті пайдалану дегеніміз не?

А функционалды интерфейс болып табылады интерфейс онда бір ғана дерексіз әдіс бар. Олардың көрсету үшін бір ғана функционалдығы болуы мүмкін. бастап Java 8-ден бастап лямбда өрнектері a данасын көрсету үшін пайдаланылуы мүмкін функционалды интерфейс . Runnable, ActionListener, Comparable мысалдарының кейбірі функционалды интерфейстер.

Lambda тек функционалды интерфейстерге арналған ба?

Иә, лямбда өрнектерді қолдануға болады тек ішінде абстрактілі әдісті жүзеге асыру үшін а функционалды интерфейс . Java - объектіге бағытталған тіл, ал лямбда өрнектер а функционалды ерекшелігі. Қосу үшін лямбда Java-ға экспрессиялық қолдау, Java 8 енгізу туралы шешім қабылдады функционалды интерфейстер.

Ұсынылған: