జావా 8లో, ఫంక్షనల్ ఇంటర్ఫేస్లు ఒకే నైరూప్య పద్ధతిని కలిగి ఉండే ఇంటర్ఫేస్లు, వీటిని SAM (సింగిల్ అబ్స్ట్రాక్ట్ మెథడ్) ఇంటర్ఫేస్లు అని కూడా పిలుస్తారు. అవి ఒకే ప్రవర్తనను సూచించడానికి ఉపయోగించబడతాయి మరియు వాటిని లాంబ్డా వ్యక్తీకరణలు మరియు పద్ధతి సూచనలతో ఉపయోగించవచ్చు.
జావా 8లో అంతర్నిర్మిత ఫంక్షనల్ ఇంటర్ఫేస్ల వివరాలు ఇక్కడ ఉన్నాయి:
ప్రిడికేట్ <T> : ఈ ఇంటర్ఫేస్ T రకం ఆర్గ్యుమెంట్ని తీసుకొని బూలియన్ విలువను అందించే ఫంక్షన్ను సూచిస్తుంది.
వినియోగదారు <T> : ఈ ఇంటర్ఫేస్ T రకం ఆర్గ్యుమెంట్ని తీసుకునే ఫంక్షన్ను సూచిస్తుంది మరియు ఎటువంటి ఫలితాన్ని అందించదు.
ఫంక్షన్ <T, R> : ఈ ఇంటర్ఫేస్ T రకం ఆర్గ్యుమెంట్ని తీసుకొని టైప్ R యొక్క ఫలితాన్ని అందించే ఫంక్షన్ను సూచిస్తుంది.
సరఫరాదారు <T> : ఈ ఇంటర్ఫేస్ ఎటువంటి ఆర్గ్యుమెంట్లను తీసుకోని మరియు T రకం ఫలితాన్ని అందించే ఫంక్షన్ను సూచిస్తుంది.
UnaryOperator <T> : ఈ ఇంటర్ఫేస్ T టైప్ ఆర్గ్యుమెంట్ని తీసుకొని టైప్ T యొక్క ఫలితాన్ని అందించే ఫంక్షన్ను సూచిస్తుంది.
బైనరీ ఆపరేటర్ <T> : ఈ ఇంటర్ఫేస్ T టైప్ యొక్క రెండు ఆర్గ్యుమెంట్లను తీసుకునే ఫంక్షన్ను సూచిస్తుంది మరియు T రకం ఫలితాన్ని అందిస్తుంది.
అమలు చేయగలిగినది : ఈ ఇంటర్ఫేస్ ఎటువంటి వాదనలు తీసుకోని మరియు ఫలితాన్ని అందించని ఫంక్షన్ని సూచిస్తుంది.
BiConsumer<T, U> : ఈ ఇంటర్ఫేస్ T మరియు U రకాల రెండు ఆర్గ్యుమెంట్లను తీసుకునే ఫంక్షన్ను సూచిస్తుంది మరియు ఎటువంటి ఫలితాన్ని అందించదు.
BiFunction<T, U, R> : ఈ ఇంటర్ఫేస్ T మరియు U రకాల రెండు ఆర్గ్యుమెంట్లను తీసుకునే ఫంక్షన్ను సూచిస్తుంది మరియు R రకం ఫలితాన్ని అందిస్తుంది.
BiPredicate<T, U> : ఈ ఇంటర్ఫేస్ T మరియు U రకాల రెండు ఆర్గ్యుమెంట్లను తీసుకునే ఫంక్షన్ను సూచిస్తుంది మరియు బూలియన్ విలువను అందిస్తుంది.
ఈ ఫంక్షనల్ ఇంటర్ఫేస్లు ప్రవర్తనలను సూచించడానికి సంక్షిప్త మరియు వ్యక్తీకరణ మార్గాన్ని అందిస్తాయి, వీటిని పద్ధతులకు వాదనలుగా పంపవచ్చు లేదా వేరియబుల్స్లో నిల్వ చేయవచ్చు. అవి జావాలో ఫంక్షనల్-స్టైల్ కోడ్ను వ్రాయడాన్ని సులభతరం చేస్తాయి, ఇది మరింత చదవగలిగే మరియు నిర్వహించదగిన కోడ్కి దారి తీస్తుంది.