java.util.function.UnaryOperator इंटरफेस लैम्ब्डा अभिव्यक्तियों के लिए असाइनमेंट लक्ष्य के रूप में उपयोग किया जा सकता है, यह एक ऑपरेंड पर ऑपरेशन को दर्शाता है जिसका परिणाम इनपुट के समान प्रकार का होगा। हम इस इंटरफेस को लागू करके अपना खुद का UnaryOperator बना सकते हैं।
List इंटरफेस की replaceAll() विधि एक विशेष ऑपरेशन को दर्शाने वाले UnaryOperator का एक ऑब्जेक्ट स्वीकार करती है, वर्तमान सूची के सभी तत्वों पर निर्दिष्ट ऑपरेशन करती है और मौजूदा मानों को परिणामी मानों से प्रतिस्थापित करती है।
निम्नलिखित उदाहरण में हम UnaryOperator इंटरफेस को लागू कर रहे हैं और एक कस्टम यूनरी ऑपरेटर ऑब्जेक्ट बना रहे हैं और इसे replaceAll() विधि के तर्क के रूप में पास करने का प्रयास कर रहे हैं।
उदाहरण
import java.util.ArrayList; import java.util.function.UnaryOperator; class Op implements UnaryOperator{ public String apply(String str) { return str.toUpperCase(); } } public class Test { public static void main(String[] args) throws CloneNotSupportedException { ArrayList list = new ArrayList<>(); list.add("Java"); list.add("JavaScript"); list.add("CoffeeScript"); list.add("HBase"); list.add("OpenNLP"); System.out.println("Contents of the list: " + list); list.replaceAll(new Op()); System.out.println("Contents of the list after replace operation:\n" + list); } }
आउटपुट
Contents of the list: [Java, JavaScript, CoffeeScript, HBase, OpenNLP] Contents of the list after replace operation: [JAVA, JAVASCRIPT, COFFEESCRIPT, HBASE, OPENNLP]