From d682d96a4f6ef28e4a9d8899188377711a1b59f0 Mon Sep 17 00:00:00 2001 From: Lokesh Singh <lsingh@nisum.com> Date: Wed, 5 Apr 2023 16:54:16 +0530 Subject: [PATCH] java 8 and 11 features added --- .gitignore | 2 + .idea/Java.iml | 9 ++ .idea/compiler.xml | 16 +++ .idea/encodings.xml | 13 ++ .idea/jarRepositories.xml | 20 +++ .idea/misc.xml | 14 +- .idea/modules.xml | 5 +- .idea/uiDesigner.xml | 124 ++++++++++++++++++ .idea/vcs.xml | 2 +- .../src/com/lokesh/arraylist/ListInJava.java | 20 +++ .../com/lokesh/comparable/SortStudent.java | 20 +++ .../src/com/lokesh/comparable/Student.java | 24 ++++ Comparable and Comparator/pom.xml | 17 +++ .../java/org/comparable/Comparable01.java | 8 ++ .../src/main/java/org/comparable/Main.java | 7 + ExceptionHandling/pom.xml | 17 +++ .../java/org/comparable/ExceptionDemo.java | 21 +++ .../src/main/java/org/comparable/Main.java | 7 + .../classes/org/example/ExceptionDemo.class | Bin 0 -> 1205 bytes .../target/classes/org/example/Main.class | Bin 0 -> 540 bytes .../src/com/lokesh/lambda/Category.java | 8 ++ .../src/com/lokesh/lambda/Product.java | 50 +++++++ .../src/com/lokesh/lambda/ProductData.java | 46 +++++++ .../lokesh/lambda/exercise/Calculator.java | 16 +++ .../lambda/exercise/LambdaExample4.java | 38 ++++++ .../lambda/exercise/LambdaExercise1.java | 36 +++++ .../lambda/exercise/LambdaExercise101.java | 24 ++++ .../lambda/exercise/LambdaExercise104.java | 26 ++++ Streams/.idea/.gitignore | 3 + Streams/.idea/compiler.xml | 13 ++ Streams/.idea/encodings.xml | 7 + Streams/.idea/jarRepositories.xml | 25 ++++ Streams/.idea/jpa-buddy.xml | 6 + Streams/.idea/misc.xml | 15 +++ Streams/.idea/uiDesigner.xml | 124 ++++++++++++++++++ Streams/pom.xml | 45 +++++++ .../java/com/lokesh/streams/BagStream.java | 4 + .../ForLoopStreams.java | 19 +++ .../main/java/com/lokesh/streams/Main.java | 7 + .../com/lokesh/streams/bagstream/Bag.java | 35 +++++ .../streams/bagstream/BagCheckoutBO.java | 74 +++++++++++ .../com/lokesh/streams/bagstream/Data.java | 17 +++ .../lokesh/streams/bagstream/ShipmentBO.java | 42 ++++++ .../streams/bagstream/ShipmentOptionBO.java | 54 ++++++++ .../streams/bagstream/ShippingMethodBO.java | 31 +++++ .../bagstream/ShippingProviderComponent.java | 4 + .../ShippingProviderComponentImpl.java | 33 +++++ .../com/lokesh/streams/forEach/ForEach.java | 38 ++++++ .../lokesh/streams/nestedforloop/Address.java | 54 ++++++++ .../streams/nestedforloop/NestedForLoop.java | 102 ++++++++++++++ .../lokesh/streams/nestedforloop/Student.java | 55 ++++++++ .../streams/nestedforloop/StudentData.java | 21 +++ .../streams/streammain/StreamObject.java | 39 ++++++ .../streams/streammain/streammain01.java | 33 +++++ .../streams/streamsapi/DemoStreams.java | 59 +++++++++ .../lokesh/streams/bagstream/BeforeEach.java | 4 + .../ShippingProviderComponentImplTest.java | 38 ++++++ .../com/lokesh/streams/BagStream.class | Bin 0 -> 290 bytes .../ForLoopStreams.class | Bin 0 -> 475 bytes .../classes/com/lokesh/streams/Main.class | Bin 0 -> 554 bytes .../com/lokesh/streams/bagstream/Bag.class | Bin 0 -> 2575 bytes .../streams/bagstream/BagCheckoutBO.class | Bin 0 -> 2672 bytes .../com/lokesh/streams/bagstream/Data.class | Bin 0 -> 1451 bytes .../lokesh/streams/bagstream/ShipmentBO.class | Bin 0 -> 1848 bytes .../streams/bagstream/ShipmentOptionBO.class | Bin 0 -> 1875 bytes .../streams/bagstream/ShippingMethodBO.class | Bin 0 -> 971 bytes .../bagstream/ShippingProviderComponent.class | Bin 0 -> 160 bytes .../ShippingProviderComponentImpl.class | Bin 0 -> 3566 bytes .../lokesh/streams/forEach/ForEach$1.class | Bin 0 -> 939 bytes .../com/lokesh/streams/forEach/ForEach.class | Bin 0 -> 2513 bytes .../streams/nestedforloop/Address.class | Bin 0 -> 1524 bytes .../streams/nestedforloop/NestedForLoop.class | Bin 0 -> 5430 bytes .../streams/nestedforloop/Student.class | Bin 0 -> 1965 bytes .../streams/nestedforloop/StudentData.class | Bin 0 -> 1310 bytes .../streams/streammain/StreamObject.class | Bin 0 -> 4630 bytes .../streams/streammain/streammain01.class | Bin 0 -> 2740 bytes .../streams/streamsapi/DemoStreams$1.class | Bin 0 -> 908 bytes .../streams/streamsapi/DemoStreams.class | Bin 0 -> 3904 bytes .../src/RunableInterface/RunnableDemo.java | 11 ++ .../src/ThreadClass/ThreadDemo.java | 39 ++++++ functional-interface/pom.xml | 17 +++ .../src/main/java/com/lokesh/FI/Main.java | 7 + .../com/lokesh/FI/demo/DemoWithAnonymous.java | 17 +++ .../main/java/com/lokesh/FI/demo/demo.java | 22 ++++ .../target/classes/com/lokesh/FI/Main.class | Bin 0 -> 544 bytes .../target/classes/com/lokesh/FI/demo/A.class | Bin 0 -> 242 bytes .../target/classes/com/lokesh/FI/demo/B.class | Bin 0 -> 521 bytes .../target/classes/com/lokesh/FI/demo/C.class | Bin 0 -> 139 bytes .../lokesh/FI/demo/DemoWithAnnonymous$1.class | Bin 0 -> 724 bytes .../lokesh/FI/demo/DemoWithAnnonymous.class | Bin 0 -> 622 bytes .../lokesh/FI/demo/DemoWithAnonymous$1.class | Bin 0 -> 720 bytes .../lokesh/FI/demo/DemoWithAnonymous.class | Bin 0 -> 618 bytes .../classes/com/lokesh/FI/demo/demo.class | Bin 0 -> 530 bytes 93 files changed, 1701 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/Java.iml create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 Collections-in-java/src/com/lokesh/arraylist/ListInJava.java create mode 100644 Collections-in-java/src/com/lokesh/comparable/SortStudent.java create mode 100644 Collections-in-java/src/com/lokesh/comparable/Student.java create mode 100644 Comparable and Comparator/pom.xml create mode 100644 Comparable and Comparator/src/main/java/org/comparable/Comparable01.java create mode 100644 Comparable and Comparator/src/main/java/org/comparable/Main.java create mode 100644 ExceptionHandling/pom.xml create mode 100644 ExceptionHandling/src/main/java/org/comparable/ExceptionDemo.java create mode 100644 ExceptionHandling/src/main/java/org/comparable/Main.java create mode 100644 ExceptionHandling/target/classes/org/example/ExceptionDemo.class create mode 100644 ExceptionHandling/target/classes/org/example/Main.class create mode 100644 Lambda-in-java/src/com/lokesh/lambda/Category.java create mode 100644 Lambda-in-java/src/com/lokesh/lambda/Product.java create mode 100644 Lambda-in-java/src/com/lokesh/lambda/ProductData.java create mode 100644 Lambda-in-java/src/com/lokesh/lambda/exercise/Calculator.java create mode 100644 Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExample4.java create mode 100644 Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise1.java create mode 100644 Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise101.java create mode 100644 Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise104.java create mode 100644 Streams/.idea/.gitignore create mode 100644 Streams/.idea/compiler.xml create mode 100644 Streams/.idea/encodings.xml create mode 100644 Streams/.idea/jarRepositories.xml create mode 100644 Streams/.idea/jpa-buddy.xml create mode 100644 Streams/.idea/misc.xml create mode 100644 Streams/.idea/uiDesigner.xml create mode 100644 Streams/pom.xml create mode 100644 Streams/src/main/java/com/lokesh/streams/BagStream.java create mode 100644 Streams/src/main/java/com/lokesh/streams/ConvertForLoopIntoStreams/ForLoopStreams.java create mode 100644 Streams/src/main/java/com/lokesh/streams/Main.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/Bag.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/BagCheckoutBO.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/Data.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentBO.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentOptionBO.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/ShippingMethodBO.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponent.java create mode 100644 Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponentImpl.java create mode 100644 Streams/src/main/java/com/lokesh/streams/forEach/ForEach.java create mode 100644 Streams/src/main/java/com/lokesh/streams/nestedforloop/Address.java create mode 100644 Streams/src/main/java/com/lokesh/streams/nestedforloop/NestedForLoop.java create mode 100644 Streams/src/main/java/com/lokesh/streams/nestedforloop/Student.java create mode 100644 Streams/src/main/java/com/lokesh/streams/nestedforloop/StudentData.java create mode 100644 Streams/src/main/java/com/lokesh/streams/streammain/StreamObject.java create mode 100644 Streams/src/main/java/com/lokesh/streams/streammain/streammain01.java create mode 100644 Streams/src/main/java/com/lokesh/streams/streamsapi/DemoStreams.java create mode 100644 Streams/src/test/java/com/lokesh/streams/bagstream/BeforeEach.java create mode 100644 Streams/src/test/java/com/lokesh/streams/bagstream/ShippingProviderComponentImplTest.java create mode 100644 Streams/target/classes/com/lokesh/streams/BagStream.class create mode 100644 Streams/target/classes/com/lokesh/streams/ConvertForLoopIntoStreams/ForLoopStreams.class create mode 100644 Streams/target/classes/com/lokesh/streams/Main.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/Bag.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/BagCheckoutBO.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/Data.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/ShipmentBO.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/ShipmentOptionBO.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/ShippingMethodBO.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/ShippingProviderComponent.class create mode 100644 Streams/target/classes/com/lokesh/streams/bagstream/ShippingProviderComponentImpl.class create mode 100644 Streams/target/classes/com/lokesh/streams/forEach/ForEach$1.class create mode 100644 Streams/target/classes/com/lokesh/streams/forEach/ForEach.class create mode 100644 Streams/target/classes/com/lokesh/streams/nestedforloop/Address.class create mode 100644 Streams/target/classes/com/lokesh/streams/nestedforloop/NestedForLoop.class create mode 100644 Streams/target/classes/com/lokesh/streams/nestedforloop/Student.class create mode 100644 Streams/target/classes/com/lokesh/streams/nestedforloop/StudentData.class create mode 100644 Streams/target/classes/com/lokesh/streams/streammain/StreamObject.class create mode 100644 Streams/target/classes/com/lokesh/streams/streammain/streammain01.class create mode 100644 Streams/target/classes/com/lokesh/streams/streamsapi/DemoStreams$1.class create mode 100644 Streams/target/classes/com/lokesh/streams/streamsapi/DemoStreams.class create mode 100644 Thread-in-java/src/RunableInterface/RunnableDemo.java create mode 100644 Thread-in-java/src/ThreadClass/ThreadDemo.java create mode 100644 functional-interface/pom.xml create mode 100644 functional-interface/src/main/java/com/lokesh/FI/Main.java create mode 100644 functional-interface/src/main/java/com/lokesh/FI/demo/DemoWithAnonymous.java create mode 100644 functional-interface/src/main/java/com/lokesh/FI/demo/demo.java create mode 100644 functional-interface/target/classes/com/lokesh/FI/Main.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/A.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/B.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/C.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnnonymous$1.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnnonymous.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnonymous$1.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnonymous.class create mode 100644 functional-interface/target/classes/com/lokesh/FI/demo/demo.class diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..018c9a0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +streams-lambda-expressions-java-se-11-developer-certification-1z0-819 +out \ No newline at end of file diff --git a/.idea/Java.iml b/.idea/Java.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/Java.iml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$" /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..065f21e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <annotationProcessing> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <module name="ExceptionHandling" /> + <module name="Comparable and Comparator" /> + <module name="functional-interface" /> + <module name="Streams" /> + </profile> + </annotationProcessing> + </component> +</project> \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..5bad9ee --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding"> + <file url="file://$PROJECT_DIR$/Comparable and Comparator/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/Comparable and Comparator/src/main/resources" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/ExceptionHandling/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/ExceptionHandling/src/main/resources" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/Streams/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/Streams/src/main/resources" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/functional-interface/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/functional-interface/src/main/resources" charset="UTF-8" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RemoteRepositoriesConfiguration"> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Central Repository" /> + <option name="url" value="https://repo.maven.apache.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Maven Central repository" /> + <option name="url" value="https://repo1.maven.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="jboss.community" /> + <option name="name" value="JBoss Community repository" /> + <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> + </remote-repository> + </component> +</project> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index cb58576..afad624 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> - <component name="ProjectRootManager" version="2" project-jdk-name="11" project-jdk-type="JavaSDK"> + <component name="ExternalStorageConfigurationManager" enabled="true" /> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/functional-interface/pom.xml" /> + <option value="$PROJECT_DIR$/Streams/pom.xml" /> + <option value="$PROJECT_DIR$/ExceptionHandling/pom.xml" /> + <option value="$PROJECT_DIR$/untitled/pom.xml" /> + <option value="$PROJECT_DIR$/Comparable and Comparator/pom.xml" /> + </list> + </option> + </component> + <component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/out" /> </component> <component name="ProjectType"> diff --git a/.idea/modules.xml b/.idea/modules.xml index 9e2ae20..7a9a5ce 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,10 @@ <project version="4"> <component name="ProjectModuleManager"> <modules> - <module fileurl="file://$PROJECT_DIR$/.idea/Hello-Java.iml" filepath="$PROJECT_DIR$/.idea/Hello-Java.iml" /> + <module fileurl="file://$PROJECT_DIR$/Collections-in-java/Collections-in-java.iml" filepath="$PROJECT_DIR$/Collections-in-java/Collections-in-java.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/Java.iml" filepath="$PROJECT_DIR$/.idea/Java.iml" /> + <module fileurl="file://$PROJECT_DIR$/Lambda-in-java/Lambda-in-java.iml" filepath="$PROJECT_DIR$/Lambda-in-java/Lambda-in-java.iml" /> + <module fileurl="file://$PROJECT_DIR$/Thread-in-java/Tread.iml" filepath="$PROJECT_DIR$/Thread-in-java/Tread.iml" /> </modules> </component> </project> \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Palette2"> + <group name="Swing"> + <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> + </item> + <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true"> + <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> + <initial-values> + <property name="text" value="Button" /> + </initial-values> + </item> + <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="RadioButton" /> + </initial-values> + </item> + <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="CheckBox" /> + </initial-values> + </item> + <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="Label" /> + </initial-values> + </item> + <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> + <preferred-size width="-1" height="20" /> + </default-constraints> + </item> + <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> + </item> + </group> + </component> +</project> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1dd..94a25f7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="VcsDirectoryMappings"> - <mapping directory="" vcs="Git" /> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> </component> </project> \ No newline at end of file diff --git a/Collections-in-java/src/com/lokesh/arraylist/ListInJava.java b/Collections-in-java/src/com/lokesh/arraylist/ListInJava.java new file mode 100644 index 0000000..3d5fe3e --- /dev/null +++ b/Collections-in-java/src/com/lokesh/arraylist/ListInJava.java @@ -0,0 +1,20 @@ +package com.lokesh.arraylist; + +import java.util.ArrayList; +import java.util.List; + +public class ListInJava { + public static void main(String[] args) { + List strlist = new ArrayList<>(); + + //add at last + strlist.add(0,"0"); + strlist.add(1,"1"); + //replace + strlist.set(1, "3"); + strlist.add(2,"2"); + + strlist.remove(0); + strlist.forEach(System.out::println); + } +} \ No newline at end of file diff --git a/Collections-in-java/src/com/lokesh/comparable/SortStudent.java b/Collections-in-java/src/com/lokesh/comparable/SortStudent.java new file mode 100644 index 0000000..8059f69 --- /dev/null +++ b/Collections-in-java/src/com/lokesh/comparable/SortStudent.java @@ -0,0 +1,20 @@ +package com.lokesh.comparable; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class SortStudent { + public static void main(String[] args) { + List<Student> st = new ArrayList<>(); + st.add(new Student(101, "Vimal Jakhar", 23)); + st.add(new Student(102, "Dharmraj Daga", 20)); + st.add(new Student(103, "Vimal Daga", 24)); + + + Collections.sort(st); + for(Student student : st){ + System.out.println(student.toString()); + } + } +} diff --git a/Collections-in-java/src/com/lokesh/comparable/Student.java b/Collections-in-java/src/com/lokesh/comparable/Student.java new file mode 100644 index 0000000..3b36588 --- /dev/null +++ b/Collections-in-java/src/com/lokesh/comparable/Student.java @@ -0,0 +1,24 @@ +package com.lokesh.comparable; + +public class Student implements Comparable<Student>{ + private int stID; + private String name; + private int age; + + public Student() {} + public Student(int stID, String name, int age) { + this.stID = stID; + this.name = name; + this.age = age; + } + + public int compareTo(Student student) { + if(age == student.age) + return 0; + else if (age > student.age) + return 1; + else + return -1; + } + +} diff --git a/Comparable and Comparator/pom.xml b/Comparable and Comparator/pom.xml new file mode 100644 index 0000000..eb8e97a --- /dev/null +++ b/Comparable and Comparator/pom.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.example</groupId> + <artifactId>Comparable and Comparator</artifactId> + <version>1.0-SNAPSHOT</version> + + <properties> + <maven.compiler.source>8</maven.compiler.source> + <maven.compiler.target>8</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> \ No newline at end of file diff --git a/Comparable and Comparator/src/main/java/org/comparable/Comparable01.java b/Comparable and Comparator/src/main/java/org/comparable/Comparable01.java new file mode 100644 index 0000000..bf76870 --- /dev/null +++ b/Comparable and Comparator/src/main/java/org/comparable/Comparable01.java @@ -0,0 +1,8 @@ +package org.comparable; + + +public class Comparable01 { + public static void main(String[] args) { + + } +} diff --git a/Comparable and Comparator/src/main/java/org/comparable/Main.java b/Comparable and Comparator/src/main/java/org/comparable/Main.java new file mode 100644 index 0000000..a3b0c20 --- /dev/null +++ b/Comparable and Comparator/src/main/java/org/comparable/Main.java @@ -0,0 +1,7 @@ +package org.comparable; + +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/ExceptionHandling/pom.xml b/ExceptionHandling/pom.xml new file mode 100644 index 0000000..06b2101 --- /dev/null +++ b/ExceptionHandling/pom.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.example</groupId> + <artifactId>ExceptionHandling</artifactId> + <version>1.0-SNAPSHOT</version> + + <properties> + <maven.compiler.source>8</maven.compiler.source> + <maven.compiler.target>8</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> \ No newline at end of file diff --git a/ExceptionHandling/src/main/java/org/comparable/ExceptionDemo.java b/ExceptionHandling/src/main/java/org/comparable/ExceptionDemo.java new file mode 100644 index 0000000..f7ba8a9 --- /dev/null +++ b/ExceptionHandling/src/main/java/org/comparable/ExceptionDemo.java @@ -0,0 +1,21 @@ +package org.comparable; + +public class ExceptionDemo { + public static void main(String[] args) { + int i = 9; + int j = 0; + int k = i/j; + int arr[] = {1,2,3,4}; + + try { + System.out.println(k); + System.out.println(arr[5]); + } catch(ArithmeticException e) { + System.out.println("check denominator again"); + } catch(ArrayIndexOutOfBoundsException e) { + System.out.println("we can print within size of the array"); + } catch (Exception e) { + System.out.println("something done wrong way!!"); + } + } +} diff --git a/ExceptionHandling/src/main/java/org/comparable/Main.java b/ExceptionHandling/src/main/java/org/comparable/Main.java new file mode 100644 index 0000000..a3b0c20 --- /dev/null +++ b/ExceptionHandling/src/main/java/org/comparable/Main.java @@ -0,0 +1,7 @@ +package org.comparable; + +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/ExceptionHandling/target/classes/org/example/ExceptionDemo.class b/ExceptionHandling/target/classes/org/example/ExceptionDemo.class new file mode 100644 index 0000000000000000000000000000000000000000..61458f0a5b909a75822c96ed2f25d8e0a6486e04 GIT binary patch literal 1205 zcmaJ=YflqF6g|`KcH2@Of`Ggi6)C7xu|9Y<;3FZa)L4RP_%v*Xve535?N-1)#Ap0~ zi81~Ff0TN5OG-)5O=jlaJ9qA!bMEY~-`{@%$Rd|S3bP43#G@o0W6nS(jwgZn)WCck z&kSVacy8c@ftLcYW!tg+Re@-FW?Mje?Ut25ciwi?W}~*Nye+v~Wu!OnTC%z=Jv;C( zgPOl@*9AuMu2;#Z6InZ|s?6IHOC9;P>%37lcZnry(sl#}(mVMB`B`SF(y3&MzGpj? zrQk}z>Jx2SYo6`z*OYHttxBvido9D0ryEXLofH~=VQ<}SIOTeKa(`QLdt8%Vg?RgJ zKtdcg#|Fm%#~}rgo+l95VW_j{OY88xJPLUm7%?zOU8yI<6i61`hG(gFb|_Tq!hru= zKskj@bQyS+!U7fzETyoF6@jrUId0%AFlg;7>(DGK$F13p^j*)C6>1qAXT#F%$NwjY zz|^raE$Ns?6x}zEsjuyrb^D7l-96LaS0<^-Qwnocvc*DRxbCtYJW?^suA|Ij&!u@R zPbVh@hW^=lfu5^!h1~;X`PV|l)4H!})Y)xt<FaM8oB0rc<oi&v#=bWpT@MQwA(JYf zm6qNJ9#Ma~t>vx9g-LYqZwS5!*hX}5?xvUFD!A&i-yqJz?H<mtFc`%x+Nov&deKKO zf!pY3goi~A8Z&`UJ&EP$%E)MS)%cMtMYTdn(+ed%Rw%`c!lL#Sk+BOzxeRIXIa+6! zUexLK>KBNeVYunUL#MOpB<Y+Zig6;G=QY8agAuNIf`}r3xgO3sy%==vCJ<*v2c`%* zL%8!~nkCm|+BrgAWBvy1Jc(_R&^E~g6hHD@mSX^etg{wccW7;f)(|a{#4tv<MzMua zj8Oue=f-J8c<&}AXa#r|U{Y-jcbPj5?GHid2JQ(V4BQ8&sl0&)9McKbNHZ&fnZE=h B36cN+ literal 0 HcmV?d00001 diff --git a/ExceptionHandling/target/classes/org/example/Main.class b/ExceptionHandling/target/classes/org/example/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..a605efc8a3f19bec6b72a7bb509f975771a926ce GIT binary patch literal 540 zcmZuu%TB^T6g|VErL_uz;9IFHbYV9pE--FPj0=1u7&fj3nA9QD4k^XQXX!!{7k+>r zWxOpWh@p#n=bm%t+;gX2-yfd<j<9FLz>0+`Y6Yy?Si`!B4HKIT#)%ANe9Dk*>~|P) zXSy#KiY*z6t8vg3(Jk*PLdq@O<Eq0Wnbf~vF20wel#6^%Jn>+tgm=kh*d(QZGDEF# z*BbB#?kOJnUOSFt=r_|zJo4#oWe&|?xAi#ciF28Zwi3m|M8tuKf{85$+t^`nE`(CL z{-`6>cTMa%sKaF_>3?nrnp(K-4n!}Wf!fcbSOoM0dQ3!h;#X?#hRnufS@3`ss-zmT zFoQWvniOqXZOmH~F7ovF$(I4Oqd?K3%A?FE=MUb&UQ*hoXry2k3v_lS4U`wDvap0A lA<5<ARE)4!WXjn$<fZ~PQKU+9j6Wh4N?0bGeip?HDnEpCa83XK literal 0 HcmV?d00001 diff --git a/Lambda-in-java/src/com/lokesh/lambda/Category.java b/Lambda-in-java/src/com/lokesh/lambda/Category.java new file mode 100644 index 0000000..23dff73 --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/Category.java @@ -0,0 +1,8 @@ +package com.lokesh.lambda; + +public enum Category { + FOOD, + UTENSILS, + CLEANING, + OFFICE +} diff --git a/Lambda-in-java/src/com/lokesh/lambda/Product.java b/Lambda-in-java/src/com/lokesh/lambda/Product.java new file mode 100644 index 0000000..d93c934 --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/Product.java @@ -0,0 +1,50 @@ +package com.lokesh.lambda; + +import java.math.BigDecimal; +import java.util.Locale; +import java.util.Objects; + +public class Product { + public final Category category; + public final String name; + public final BigDecimal price; + + public Product(Category category, String name, BigDecimal price) { + this.category = category; + this.name = name; + this.price = price; + } + + public Category getCategory() { + return category; + } + + public String getName() { + return name; + } + + public BigDecimal getPrice() { + return price; + } + + @Override + public String toString() { + return String.format(Locale.US, "%-10s %-16s $%6.2f", category, name, price); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Product product = (Product) o; + + return category == product.category && name.equals(product.name) && price.equals(product.price); + } + + @Override + public int hashCode() { + return Objects.hash(category, name, price); + } + +} diff --git a/Lambda-in-java/src/com/lokesh/lambda/ProductData.java b/Lambda-in-java/src/com/lokesh/lambda/ProductData.java new file mode 100644 index 0000000..c94eb5b --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/ProductData.java @@ -0,0 +1,46 @@ +package com.lokesh.lambda; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import static com.lokesh.lambda.Category.*; + +public class ProductData { + private static final List<Product> PRODUCTS = Arrays.asList( + new Product(FOOD, "Oranges", new BigDecimal("1.65")), + new Product(FOOD, "Gouda cheese", new BigDecimal("6.79")), + new Product(UTENSILS, "Plates", new BigDecimal("12.95")), + new Product(CLEANING, "Detergent", new BigDecimal("3.79")), + new Product(FOOD, "Soft drink", new BigDecimal("1.99")), + new Product(OFFICE, "Pencils", new BigDecimal("5.79")), + new Product(FOOD, "Rice", new BigDecimal("2.99")), + new Product(CLEANING, "Scourer", new BigDecimal("2.29")), + new Product(FOOD, "Milk", new BigDecimal("1.39")), + new Product(OFFICE, "Notebook", new BigDecimal("4.99")), + new Product(FOOD, "Tea", new BigDecimal("4.29")), + new Product(FOOD, "Tomato sauce", new BigDecimal("1.39")), + new Product(FOOD, "Peanut butter", new BigDecimal("2.39")), + new Product(FOOD, "Red bell pepper", new BigDecimal("0.99")), + new Product(UTENSILS, "Spoons", new BigDecimal("14.95")), + new Product(OFFICE, "Adhesive tape", new BigDecimal("5.39")), + new Product(CLEANING, "Dish brush", new BigDecimal("3.49")), + new Product(UTENSILS, "Knives", new BigDecimal("9.95")), + new Product(FOOD, "Brown bread", new BigDecimal("3.99")), + new Product(FOOD, "Potatoes", new BigDecimal("1.59")), + new Product(CLEANING, "Dishcloth", new BigDecimal("2.59")), + new Product(FOOD, "Apples", new BigDecimal("1.29")), + new Product(OFFICE, "Ballpoint pens", new BigDecimal("6.79")), + new Product(FOOD, "Spaghetti", new BigDecimal("2.79")), + new Product(UTENSILS, "Forks", new BigDecimal("14.95")), + new Product(UTENSILS, "Paper towel", new BigDecimal("3.69")), + new Product(FOOD, "Coffee", new BigDecimal("7.49")), + new Product(OFFICE, "Highlighter", new BigDecimal("2.29")), + new Product(FOOD, "Orange juice", new BigDecimal("3.49")), + new Product(FOOD, "Spring water", new BigDecimal("0.99"))); + + public static List<Product> getProducts() { + return new ArrayList<>(PRODUCTS); + } +} + diff --git a/Lambda-in-java/src/com/lokesh/lambda/exercise/Calculator.java b/Lambda-in-java/src/com/lokesh/lambda/exercise/Calculator.java new file mode 100644 index 0000000..ede74ca --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/exercise/Calculator.java @@ -0,0 +1,16 @@ +package com.lokesh.lambda.exercise; +interface IntegerMath{ + int operation(int a, int b); +} +public class Calculator { + public int operationBinary(int a, int b, IntegerMath op) { + return op.operation(a,b); + } + public static void main(String[] args) { + Calculator myApp = new Calculator(); + IntegerMath addition = ((a, b) -> a+b); + IntegerMath substract = ((a, b) -> a-b); + System.out.println("20+30 = "+ myApp.operationBinary(20,30, addition)); + System.out.println("4-2 = "+ myApp.operationBinary(4,2, substract)); + } +} diff --git a/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExample4.java b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExample4.java new file mode 100644 index 0000000..e2d27c0 --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExample4.java @@ -0,0 +1,38 @@ +package com.lokesh.lambda.exercise; + +import com.lokesh.lambda.Product; +import com.lokesh.lambda.ProductData; + +import java.math.BigDecimal; +import java.util.List; +import java.util.stream.Collectors; + +public class LambdaExample4 { + public static void main(String[] args) { + List<Product> products = ProductData.getProducts(); + +// List<Product> cheapProducts = products.stream(); + + + BigDecimal priceLimit = new BigDecimal("6"); + + int numberOfCheapProducts = 0; + + // Check if there are cheap products + + for ( Product product : products) { + if (product.getPrice().compareTo(priceLimit) < 0) { + numberOfCheapProducts++; + } + } + //using lambda expression +// Because local variables are effectively final, you cannot modify them inside a lambda expression. +// products.forEach(product -> { +// if (product.getPrice().compareTo(priceLimit) < 0) { +// numberOfCheapProducts++;// Error: Variable must be effectively final +// } +// }); + + System.out.println("There are " + numberOfCheapProducts + " cheap products"); + } +} diff --git a/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise1.java b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise1.java new file mode 100644 index 0000000..05944bb --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise1.java @@ -0,0 +1,36 @@ +package com.lokesh.lambda.exercise; + +import com.lokesh.lambda.Product; +import com.lokesh.lambda.ProductData; + +import java.util.Comparator; +import java.util.List; + +public class LambdaExercise1 { + + public static void main(String[] args) { + List<Product> products = ProductData.getProducts(); + + // Interface Comparator implemented with an anonymous class. +// products.sort(new Comparator<Product>() { +// @Override +// public int compare(Product p1, Product p2) { +// return p1.getPrice().compareTo(p2.getPrice()); +// } +// }); + + // Interface Comparator implemented with a lambda expression. + products.sort((p1, p2) -> p1.getPrice().compareTo(p2.getPrice())); + + // The same with a more verbose syntax: + // - You can optionally specify the type of the parameters + // - The body can be a block between { and } or a single expression + products.sort((Product p1, Product p2) -> { + return p1.getPrice().compareTo(p2.getPrice()); + }); + + for (Product product : products) { + System.out.println(product); + } + } +} diff --git a/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise101.java b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise101.java new file mode 100644 index 0000000..8e89d50 --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise101.java @@ -0,0 +1,24 @@ +package com.lokesh.lambda.exercise; + +import com.lokesh.lambda.Product; +import com.lokesh.lambda.ProductData; + +import java.util.Comparator; +import java.util.List; + +public class LambdaExercise101 { + public static void main(String[] args) { + List<Product> PRODUCTS = ProductData.getProducts(); + + PRODUCTS.sort(new Comparator<Product>() { + @Override + public int compare(Product p1, Product p2) { + return p1.getPrice().compareTo(p2.getPrice()); + } + }); + + for (Product product: PRODUCTS) { + System.out.println(product); + } + } +} diff --git a/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise104.java b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise104.java new file mode 100644 index 0000000..8290220 --- /dev/null +++ b/Lambda-in-java/src/com/lokesh/lambda/exercise/LambdaExercise104.java @@ -0,0 +1,26 @@ +package com.lokesh.lambda.exercise; + +import com.lokesh.lambda.Product; +import com.lokesh.lambda.ProductData; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +public class LambdaExercise104 { + public static void main(String[] args) { + List<Product> Products = ProductData.getProducts(); + + BigDecimal priceLimit = new BigDecimal(5); + + AtomicInteger counter = new AtomicInteger(); + List<Product> cheapProduct = new ArrayList<>(); + Products.parallelStream().forEach(product -> { + if (product.getPrice().compareTo(priceLimit) <0) { + cheapProduct.add(product); + } + }); + cheapProduct.forEach(product -> System.out.println(product)); + } +} diff --git a/Streams/.idea/.gitignore b/Streams/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Streams/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Streams/.idea/compiler.xml b/Streams/.idea/compiler.xml new file mode 100644 index 0000000..d698f18 --- /dev/null +++ b/Streams/.idea/compiler.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <annotationProcessing> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <module name="Streams" /> + </profile> + </annotationProcessing> + </component> +</project> \ No newline at end of file diff --git a/Streams/.idea/encodings.xml b/Streams/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/Streams/.idea/encodings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding"> + <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" /> + </component> +</project> \ No newline at end of file diff --git a/Streams/.idea/jarRepositories.xml b/Streams/.idea/jarRepositories.xml new file mode 100644 index 0000000..bbf27a5 --- /dev/null +++ b/Streams/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RemoteRepositoriesConfiguration"> + <remote-repository> + <option name="id" value="macysSnapshots" /> + <option name="name" value="Macys Snapshots" /> + <option name="url" value="http://artifacts.devops.fds.com/public-snapshots" /> + </remote-repository> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Maven Central repository" /> + <option name="url" value="https://repo1.maven.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="jboss.community" /> + <option name="name" value="JBoss Community repository" /> + <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> + </remote-repository> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Central Repository" /> + <option name="url" value="http://artifacts.devops.fds.com/public" /> + </remote-repository> + </component> +</project> \ No newline at end of file diff --git a/Streams/.idea/jpa-buddy.xml b/Streams/.idea/jpa-buddy.xml new file mode 100644 index 0000000..966d5f5 --- /dev/null +++ b/Streams/.idea/jpa-buddy.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="JpaBuddyIdeaProjectConfig"> + <option name="renamerInitialized" value="true" /> + </component> +</project> \ No newline at end of file diff --git a/Streams/.idea/misc.xml b/Streams/.idea/misc.xml new file mode 100644 index 0000000..3506359 --- /dev/null +++ b/Streams/.idea/misc.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ExternalStorageConfigurationManager" enabled="true" /> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/pom.xml" /> + </list> + </option> + </component> + <component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK" /> + <component name="ProjectType"> + <option name="id" value="jpab" /> + </component> +</project> \ No newline at end of file diff --git a/Streams/.idea/uiDesigner.xml b/Streams/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/Streams/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Palette2"> + <group name="Swing"> + <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> + </item> + <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true"> + <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> + <initial-values> + <property name="text" value="Button" /> + </initial-values> + </item> + <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="RadioButton" /> + </initial-values> + </item> + <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="CheckBox" /> + </initial-values> + </item> + <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="Label" /> + </initial-values> + </item> + <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> + <preferred-size width="-1" height="20" /> + </default-constraints> + </item> + <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> + </item> + </group> + </component> +</project> \ No newline at end of file diff --git a/Streams/pom.xml b/Streams/pom.xml new file mode 100644 index 0000000..35499b1 --- /dev/null +++ b/Streams/pom.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.example</groupId> + <artifactId>Streams</artifactId> + <version>1.0-SNAPSHOT</version> + + <properties> + <maven.compiler.source>8</maven.compiler.source> + <maven.compiler.target>8</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <dependencies> + + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>3.0.0</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>asm</groupId> + <artifactId>asm</artifactId> + <version>3.3.1</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter</artifactId> + <version>5.8.1</version> + <scope>test</scope> + </dependency> + + + </dependencies> + +</project> \ No newline at end of file diff --git a/Streams/src/main/java/com/lokesh/streams/BagStream.java b/Streams/src/main/java/com/lokesh/streams/BagStream.java new file mode 100644 index 0000000..287d6bc --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/BagStream.java @@ -0,0 +1,4 @@ +package com.lokesh.streams; + +public class BagStream { +} diff --git a/Streams/src/main/java/com/lokesh/streams/ConvertForLoopIntoStreams/ForLoopStreams.java b/Streams/src/main/java/com/lokesh/streams/ConvertForLoopIntoStreams/ForLoopStreams.java new file mode 100644 index 0000000..9023cf0 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/ConvertForLoopIntoStreams/ForLoopStreams.java @@ -0,0 +1,19 @@ +package com.lokesh.streams.ConvertForLoopIntoStreams; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.stream.Collectors; + +public class ForLoopStreams { + public static void main(String[] args) { +// List<Integer> ls = Arrays.asList(1, 2,4,3); +// +// List<Integer> newList = ls.stream().collect(Collectors.toList()); +// +// newList.forEach(System.out::print); + + + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/Main.java b/Streams/src/main/java/com/lokesh/streams/Main.java new file mode 100644 index 0000000..951c8b9 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/Main.java @@ -0,0 +1,7 @@ +package com.lokesh.streams; + +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/Bag.java b/Streams/src/main/java/com/lokesh/streams/bagstream/Bag.java new file mode 100644 index 0000000..d9eae35 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/Bag.java @@ -0,0 +1,35 @@ +package com.lokesh.streams.bagstream; + +import java.util.Arrays; +import java.util.List; + +public class Bag implements ShippingProviderComponent { + public static void main(String[] args) { + ShippingProviderComponentImpl s = new ShippingProviderComponentImpl(); + BagCheckoutBO bagCheckoutBO = new BagCheckoutBO(); + + ShippingMethodBO shippingMethodBO = new ShippingMethodBO(); + + shippingMethodBO.setSurcharge(1.0); + shippingMethodBO.setCode("LO12"); + + ShipmentOptionBO shipmentOptionBO = new ShipmentOptionBO(); + + + + List<ShipmentOptionBO> l1 = Arrays.asList(new ShipmentOptionBO(new ShippingMethodBO(1.0, "LO12"), 1.2, 32.0)); + + List<ShipmentBO> l2 = Arrays.asList(new ShipmentBO(l1, 3.2)); + + List<BagCheckoutBO> l3 = Arrays.asList(new BagCheckoutBO(l2, 124, "MCOM", "1.0.2", "302022")); + + System.out.println(); + + bagCheckoutBO.setChannelType("MCOM"); + bagCheckoutBO.setRegionCode("302022"); + bagCheckoutBO.setVersion("1.0.2"); + bagCheckoutBO.setStoreLocationNumber(124); + bagCheckoutBO.setShipments(l2); + s.updateShippingPriceForSDDFreeShipItems(bagCheckoutBO); + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/BagCheckoutBO.java b/Streams/src/main/java/com/lokesh/streams/bagstream/BagCheckoutBO.java new file mode 100644 index 0000000..f7383a8 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/BagCheckoutBO.java @@ -0,0 +1,74 @@ +package com.lokesh.streams.bagstream; + +import java.util.List; + +public class BagCheckoutBO { + private List<ShipmentBO> shipments; + private long storeLocationNumber; + private String channelType; + private String version; + private String regionCode; + + public BagCheckoutBO() { + + } + + public BagCheckoutBO(List<ShipmentBO> shipments, long storeLocationNumber, String channelType, String version, String regionCode) { + this.shipments = shipments; + this.storeLocationNumber = storeLocationNumber; + this.channelType = channelType; + this.version = version; + this.regionCode = regionCode; + } + + public List<ShipmentBO> getShipments() { + return shipments; + } + + public void setShipments(List<ShipmentBO> shipments) { + this.shipments = shipments; + } + + public long getStoreLocationNumber() { + return storeLocationNumber; + } + + public void setStoreLocationNumber(long storeLocationNumber) { + this.storeLocationNumber = storeLocationNumber; + } + + public String getChannelType() { + return channelType; + } + + public void setChannelType(String channelType) { + this.channelType = channelType; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getRegionCode() { + return regionCode; + } + + public void setRegionCode(String regionCode) { + this.regionCode = regionCode; + } + + @Override + public String toString() { + return "BagCheckoutBO{" + + "shipments=" + shipments + + ", storeLocationNumber=" + storeLocationNumber + + ", channelType='" + channelType + '\'' + + ", version='" + version + '\'' + + ", regionCode='" + regionCode + '\'' + + '}'; + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/Data.java b/Streams/src/main/java/com/lokesh/streams/bagstream/Data.java new file mode 100644 index 0000000..3973ca3 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/Data.java @@ -0,0 +1,17 @@ +package com.lokesh.streams.bagstream; + +import java.util.Arrays; +import java.util.List; + +public class Data { + private static final List<ShipmentOptionBO> SHIPMENT_OPTION_BOS = Arrays.asList( + new ShipmentOptionBO(new ShippingMethodBO(0.0, "LO12")) + ); + private static final List<ShipmentBO> SHIPMENT_BOS = Arrays.asList( + new ShipmentBO(SHIPMENT_OPTION_BOS, 2.34) + ); + + private static final List<BagCheckoutBO> BAG_CHECKOUT_BOS = Arrays.asList( + new BagCheckoutBO(SHIPMENT_BOS, 11, "Hindi", "2.0.1", "302029") + ); +} diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentBO.java b/Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentBO.java new file mode 100644 index 0000000..0b6acd2 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentBO.java @@ -0,0 +1,42 @@ +package com.lokesh.streams.bagstream; + +import java.util.List; + +public class ShipmentBO { + private List<ShipmentOptionBO> availableShippingOptions; + + private Double addressFee; + + public ShipmentBO(List<ShipmentOptionBO> availableShippingOptions, Double addressFee) { + this.availableShippingOptions = availableShippingOptions; + this.addressFee = addressFee; + } + + public List<ShipmentOptionBO> getAvailableShippingOptions() { + return availableShippingOptions; + } + + public void setAvailableShippingOptions(List<ShipmentOptionBO> availableShippingOptions) { + this.availableShippingOptions = availableShippingOptions; + } + + public ShipmentBO() { + this.availableShippingOptions = availableShippingOptions; + } + + public Double getAddressFee() { + return addressFee; + } + + public void setAddressFee(Double addressFee) { + this.addressFee = addressFee; + } + + @Override + public String toString() { + return "ShipmentBO{" + + "availableShippingOptions=" + availableShippingOptions + + ", addressFee=" + addressFee + + '}'; + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentOptionBO.java b/Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentOptionBO.java new file mode 100644 index 0000000..dba8755 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/ShipmentOptionBO.java @@ -0,0 +1,54 @@ +package com.lokesh.streams.bagstream; + +public class ShipmentOptionBO { + private ShippingMethodBO shipmentMethod; + private Double upChargeFee; + + private Double price; + + public ShipmentOptionBO(ShippingMethodBO shipmentMethod, Double upChargeFee, Double price) { + this.shipmentMethod = shipmentMethod; + this.upChargeFee = upChargeFee; + this.price = price; + } + + public ShipmentOptionBO() { + + } + + public ShipmentOptionBO(ShippingMethodBO lo12) { + } + + public ShippingMethodBO getShipmentMethod() { + return shipmentMethod; + } + + public void setShipmentMethod(ShippingMethodBO shipmentMethod) { + this.shipmentMethod = shipmentMethod; + } + + public Double getUpChargeFee() { + return upChargeFee; + } + + public void setUpChargeFee(Double upChargeFee) { + this.upChargeFee = upChargeFee; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + @Override + public String toString() { + return "ShipmentOptionBO{" + + "shipmentMethod=" + shipmentMethod + + ", upChargeFee=" + upChargeFee + + ", price=" + price + + '}'; + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingMethodBO.java b/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingMethodBO.java new file mode 100644 index 0000000..cf59e72 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingMethodBO.java @@ -0,0 +1,31 @@ +package com.lokesh.streams.bagstream; + +public class ShippingMethodBO { + private double surcharge = 0.0; + private String code = ""; + + public ShippingMethodBO() { + + } + + public ShippingMethodBO(double surcharge, String code) { + this.surcharge = surcharge; + this.code = code; + } + + public double getSurcharge() { + return surcharge; + } + + public void setSurcharge(double surcharge) { + this.surcharge = surcharge; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponent.java b/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponent.java new file mode 100644 index 0000000..b9f69be --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponent.java @@ -0,0 +1,4 @@ +package com.lokesh.streams.bagstream; + +public interface ShippingProviderComponent { +} diff --git a/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponentImpl.java b/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponentImpl.java new file mode 100644 index 0000000..da42cb2 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/bagstream/ShippingProviderComponentImpl.java @@ -0,0 +1,33 @@ +package com.lokesh.streams.bagstream; + +public class ShippingProviderComponentImpl implements ShippingProviderComponent{ + String SDD_SHIPPING_METHOD = "S"; + public void updateShippingPriceForSDDFreeShipItems(BagCheckoutBO orderBO) { + + + orderBO.getShipments().stream() + .filter(shipmentBO -> shipmentBO.getAvailableShippingOptions() != null) + .flatMap(shipmentBO -> shipmentBO.getAvailableShippingOptions().stream()) + .filter(shipmentOptionBO -> shipmentOptionBO.getShipmentMethod() != null && SDD_SHIPPING_METHOD + .equalsIgnoreCase(shipmentOptionBO.getShipmentMethod().getCode())) + .forEach(shipmentOptionBO -> { + shipmentOptionBO.setUpChargeFee(0.0); + shipmentOptionBO.getShipmentMethod().setSurcharge(0.0); + shipmentOptionBO.setPrice(0.0); + }); + + +// for (ShipmentBO shipmentBO : orderBO.getShipments()) { +// if (shipmentBO.getAvailableShippingOptions() != null) { +// for (ShipmentOptionBO shipmentOptionBO : shipmentBO.getAvailableShippingOptions()) { +// if (shipmentOptionBO.getShipmentMethod() != null && SDD_SHIPPING_METHOD +// .equalsIgnoreCase(shipmentOptionBO.getShipmentMethod().getCode())) { +// shipmentOptionBO.setUpChargeFee(0.0); +// shipmentOptionBO.getShipmentMethod().setSurcharge(0.0); +// shipmentOptionBO.setPrice(0.0); +// } +// } +// } +// } + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/forEach/ForEach.java b/Streams/src/main/java/com/lokesh/streams/forEach/ForEach.java new file mode 100644 index 0000000..88c1452 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/forEach/ForEach.java @@ -0,0 +1,38 @@ +package com.lokesh.streams.forEach; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.function.Consumer; + +public class ForEach { + public static void main(String[] args) { + List<Integer> nums = Arrays.asList(4,5,3,2,1); + + //lets see the forEach loop in more expressive + Consumer<Integer> cons = new Consumer<Integer>() { + @Override + public void accept(Integer integer) { + System.out.println(integer); + } + }; + nums.forEach(cons); + System.out.println(" "); + //foreach loop is use lambda expression + nums.forEach(n -> System.out.println(n)); + System.out.println("break"); + nums.forEach(System.out::println); + System.out.println("break"); + //simple for loop + //it will print the values of i indexed + for(int i = 0; i < nums.size(); i++) { + System.out.println(nums.get(i)); + } + //enhanced for loop + //todo: itrator jump over the values not index + for(int it : nums) { + System.out.print(it); + } + // above both loop are external for loop which are introduced earlier of java 8 + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/nestedforloop/Address.java b/Streams/src/main/java/com/lokesh/streams/nestedforloop/Address.java new file mode 100644 index 0000000..061714a --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/nestedforloop/Address.java @@ -0,0 +1,54 @@ +package com.lokesh.streams.nestedforloop; + +public class Address { + private int P_No; + private String Street_Name; + private String City; + public Address(int p_No, String street_Name, String city) { + P_No = p_No; + Street_Name = street_Name; + City = city; + } + + public Address() { + + } + + public int getP_No() { + return P_No; + } + + public void setP_No(int p_No) { + P_No = p_No; + } + + public String getStreet_Name() { + return Street_Name; + } + + public void setStreet_Name(String street_Name) { + Street_Name = street_Name; + } + + public String getCity() { + return City; + } + + public void setCity(String city) { + City = city; + } + + +// @Override +// public String toString() { +// return super.toString(); +// } + + @Override + public String toString() { + return + "P_No=" + P_No + + ", Street_Name='" + Street_Name + '\'' + + ", City='" + City + '\''; + } +} \ No newline at end of file diff --git a/Streams/src/main/java/com/lokesh/streams/nestedforloop/NestedForLoop.java b/Streams/src/main/java/com/lokesh/streams/nestedforloop/NestedForLoop.java new file mode 100644 index 0000000..22afd59 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/nestedforloop/NestedForLoop.java @@ -0,0 +1,102 @@ +package com.lokesh.streams.nestedforloop; + + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; + + +public class NestedForLoop { + int gridSize = 3; + int count = 0; + private List<Integer> createGrid() { + List<Integer> spaces = new ArrayList<>(); + for(int i = 0; i < gridSize; i++) { + spaces.add(count++); + } + return spaces; + } + + private List<Integer> createGridStream() { + Stream<Integer> infiniteStream = Stream.iterate(0, i->i+1); + + List<Integer> spaces = infiniteStream.limit(gridSize).collect(Collectors.toList()); + return spaces; + } + //nested for loop + + public static void main(String[] args) { + NestedForLoop a = new NestedForLoop(); +// Student st = new Student(); + System.out.println(a.createGrid()); + System.out.println("------------------------------"); + System.out.println(" Simplified by Stream"); + System.out.println("------------------------------"); + System.out.println(a.createGridStream()); + + System.out.println("------------------------------"); + System.out.println(" Nested for loop"); + System.out.println("------------------------------"); +// System.out.println(createStudent()); + + System.out.println("------------------------------"); + System.out.println(" Streams"); + System.out.println("------------------------------"); + + List<Student> students = StudentData.getStudents(); + students.stream().forEach(System.out::println); + System.out.println("------------------------------"); + System.out.println(" Using For loop"); + System.out.println("------------------------------"); + +// List<Address> addresses = new ArrayList<>(); +// addresses.add(new Address(12, "lokesh", "jaipur")); + + + +// studentList.stream(). +// filter(student -> student.getStudentAddress().stream().filter(address -> address.getCity())) + + +// for(Student student: StudentData.getStudents()) { +// for(Address address: student.getStudentAddress()) { +// if(address.getCity() == "kondapur") +// System.out.println(student.getName()); +// } +// } + + System.out.println( + Arrays.asList(Arrays.asList(1,2,3,4,5),Arrays.asList(6,7,8,9,10)).stream() + .flatMap(integers -> integers.stream()) + .collect(Collectors.toList())); + + System.out.println("--------------------------------------------------------------"); + System.out.println(" print students names who belongs kondapur Using streams"); + System.out.println("--------------------------------------------------------------"); + + + StudentData.getStudents().stream() + .filter(student -> student.getStudentAddress().stream() + .map(address -> { + try { + return address.getCity(); + } catch (Exception e) { + throw new RuntimeException(e); + } + }) + .collect(Collectors.toList()) + .contains("kondapur")) + .map(student -> { + try { + return student.getName(); + } catch (Exception e) { + throw new RuntimeException(e); + } + }) + .collect(Collectors.toList()) + .forEach(System.out::println); + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/nestedforloop/Student.java b/Streams/src/main/java/com/lokesh/streams/nestedforloop/Student.java new file mode 100644 index 0000000..300a098 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/nestedforloop/Student.java @@ -0,0 +1,55 @@ +package com.lokesh.streams.nestedforloop; + +import java.util.List; + +public class Student { + + private String name; + private long ROLL_No; + + private List<Address> studentAddress; + + + public Student(String name, long ROLL_No, List<Address> studentAddress) { + this.name = name; + this.ROLL_No = ROLL_No; + this.studentAddress = studentAddress; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public long getROLL_No() { + return ROLL_No; + } + + public void setROLL_No(long ROLL_No) { + this.ROLL_No = ROLL_No; + } + + public List<Address> getStudentAddress() { + return studentAddress; + } + + public void setStudentAddress(List<Address> studentAddress) { + this.studentAddress = studentAddress; + } + // @Override +// public String toString() { +// return String.format(name, ROLL_No, studentAddress); +// } + + @Override + public String toString() { + return "Student{" + + "name='" + name + '\'' + + ", ROLL_No=" + ROLL_No + + ", studentAddress=" + studentAddress + + '}'; + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/nestedforloop/StudentData.java b/Streams/src/main/java/com/lokesh/streams/nestedforloop/StudentData.java new file mode 100644 index 0000000..92528dc --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/nestedforloop/StudentData.java @@ -0,0 +1,21 @@ +package com.lokesh.streams.nestedforloop; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +public class StudentData { + + private static final List<Student> STUDENTS = Arrays.asList( + new Student("", 123, Arrays.asList(new Address(1, "Hanuman Nagar", "kondapur"), new Address(2, "mansarovr", "Jaipur"))), + new Student("Ankit", 124, Arrays.asList(new Address(1, "Shilpa Park", "kondapur"))), + new Student("Dipankar", 123, Arrays.asList(new Address(1, "Bagam Bazar", "Udaipur"))) + ); + + static List<Student> getStudents() { + return new ArrayList<>(STUDENTS); + } + + +} diff --git a/Streams/src/main/java/com/lokesh/streams/streammain/StreamObject.java b/Streams/src/main/java/com/lokesh/streams/streammain/StreamObject.java new file mode 100644 index 0000000..ce0d0a0 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/streammain/StreamObject.java @@ -0,0 +1,39 @@ +package com.lokesh.streams.streammain; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class StreamObject { + public static void main(String[] args) { + //todo : create streams + + //1 blank stream + Stream<Object> emptyStream = Stream.empty(); + emptyStream.forEach(e-> System.out.println(e)); + + String name[] = {"Taqui", "dev", "Tiger", "Lokesh"}; + //2 + Stream<String> stream1 = Stream.of(name); +// stream1.forEach(e-> System.out.println(e)); + + Stream<Object> objectStream =Stream.builder().build(); + + List<String> newList = stream1.filter(e->e.startsWith("T")) + .map(String::toUpperCase) + .collect(Collectors.toList()); + System.out.println(newList); + + List<Integer> list = Arrays.asList(1,3,4,2,0, 12, 9); + List<Integer> evenItem = list.stream().filter(i -> i%3 == 0 && i!=0) + .sorted() + .map(i->i*2) + .peek(e-> System.out.println("filter data: "+ e)) + .collect(Collectors.toList()); + System.out.println(evenItem); + + int sum = list.stream().reduce(4, (ele1, ele2)->ele2+ele1); + System.out.println(sum); + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/streammain/streammain01.java b/Streams/src/main/java/com/lokesh/streams/streammain/streammain01.java new file mode 100644 index 0000000..3f18ca1 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/streammain/streammain01.java @@ -0,0 +1,33 @@ +package com.lokesh.streams.streammain; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class streammain01 { + public static void main(String[] args) { + //todo 1: create a list and filter all even numbers from list + + List<Integer> list1 = Arrays.asList(2, 23, 24,65,3,28); + //todo 2: without stream + List<Integer> listOfEvens = new ArrayList<>(); + System.out.println("list without streams"); + for (Integer i : list1) { + if(i%2==0) { + listOfEvens.add(i); + } + } + System.out.println(list1); + System.out.println("list of even"); + listOfEvens.forEach(ele-> System.out.println(ele)); + + //todo 3: with stream + //Stream<Integer> stream = list1.stream(); + List<Integer> streamList = list1.stream().filter(integer -> integer%2 ==0).collect(Collectors.toList()); + System.out.println(streamList); + + + } +} diff --git a/Streams/src/main/java/com/lokesh/streams/streamsapi/DemoStreams.java b/Streams/src/main/java/com/lokesh/streams/streamsapi/DemoStreams.java new file mode 100644 index 0000000..ac491b9 --- /dev/null +++ b/Streams/src/main/java/com/lokesh/streams/streamsapi/DemoStreams.java @@ -0,0 +1,59 @@ +package com.lokesh.streams.streamsapi; + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Stream; + +public class DemoStreams { + public static void main(String[] args) { + List<Integer> nums = Arrays.asList(3,1,6,4,5); + + //Stream<Integer> data = nums.stream(); +// Stream<Integer> sortedData = data.sorted(); +// sortedData.forEach(n-> System.out.println(n)); + + // now we want to double the values so how we can do this + //todo: 1. we can do this task using external loop +// for(int n = nums) { +// System.out.println(n*2); +// } + //todo: 2. using stream + //Stream<Integer> mappedData = data.map(n->n*2); + //mappedData.forEach(n-> System.out.println(n)); + + //todo: lets do complete task in single line ..lets do that +// nums.stream().sorted().map(n->n*2).forEach(n-> System.out.println(n)); + //todo: lets make it more readable + nums.stream() + .sorted() + .map(n->n*2) + .forEach(n-> System.out.println(n)); + + //todo: lets do filter task on given list + //? + System.out.println("filter in stream"); + + Predicate<Integer> fil = new Predicate<Integer>() { + @Override + public boolean test(Integer n) { + return n%2 == 0; + } + }; + + nums.stream() + //.filter(fil) + .filter(n->n%2 == 0) + .sorted() + .map(n->n*2) + .forEach(n-> System.out.println(n)); + + int sum = nums.stream() + .filter(n->n%2 == 0) + .sorted() + .map(n->n*2) + .reduce(0, (c,e)-> c+e); + System.out.println("sum of " + sum); + } +} diff --git a/Streams/src/test/java/com/lokesh/streams/bagstream/BeforeEach.java b/Streams/src/test/java/com/lokesh/streams/bagstream/BeforeEach.java new file mode 100644 index 0000000..a6ae323 --- /dev/null +++ b/Streams/src/test/java/com/lokesh/streams/bagstream/BeforeEach.java @@ -0,0 +1,4 @@ +package com.lokesh.streams.bagstream; + +public @interface BeforeEach { +} diff --git a/Streams/src/test/java/com/lokesh/streams/bagstream/ShippingProviderComponentImplTest.java b/Streams/src/test/java/com/lokesh/streams/bagstream/ShippingProviderComponentImplTest.java new file mode 100644 index 0000000..4593b57 --- /dev/null +++ b/Streams/src/test/java/com/lokesh/streams/bagstream/ShippingProviderComponentImplTest.java @@ -0,0 +1,38 @@ +package com.lokesh.streams.bagstream; + +import org.junit.Test; +import org.mockito.InjectMocks; +import org.mockito.MockitoAnnotations; + +import java.util.ArrayList; +import java.util.List; + +//import static org.junit.jupiter.api.Assertions.*; +class ShippingProviderComponentImplTest { + @InjectMocks + ShippingProviderComponentImpl systemUnderTest; + @BeforeEach + void setUp() { + MockitoAnnotations.initMocks(this); + } + @Test +public void updateShippingPriceForSDDFreeShipItemsTest() { + BagCheckoutBO orderBO = new BagCheckoutBO(); + orderBO.setStoreLocationNumber(123l); + + List<ShipmentBO> shipmentBOList = new ArrayList<>(); + ShipmentBO shipmentBO = new ShipmentBO(); + shipmentBOList.add(shipmentBO); + orderBO.setShipments(shipmentBOList); + List<ShipmentOptionBO> availableShippingOptions = new ArrayList<>(); + ShipmentOptionBO shipmentOptionBO = new ShipmentOptionBO(); + shipmentOptionBO.setPrice(34.56); + shipmentOptionBO.setUpChargeFee(23.56); + ShippingMethodBO shipmentMethod = new ShippingMethodBO(); + shipmentMethod.setCode("S"); + shipmentOptionBO.setShipmentMethod(shipmentMethod); + availableShippingOptions.add(shipmentOptionBO); + shipmentBO.setAvailableShippingOptions(availableShippingOptions); +// systemUnderTest.updateShippingPriceForSDDFreeShipItems(orderBO); +} +} \ No newline at end of file diff --git a/Streams/target/classes/com/lokesh/streams/BagStream.class b/Streams/target/classes/com/lokesh/streams/BagStream.class new file mode 100644 index 0000000000000000000000000000000000000000..6209f7b7f675b568a777bf3b396a1518d951c22c GIT binary patch literal 290 zcmaJ+yKcfj5S;Y`6Y~@`LQ0oVa19+11(8x&P=M&q&Iyj#KFK!xS1Ke5K7fxx>{(Gt zcBR>!S!s6ncE4N!OwkYFzzyKF;iEz5ALL1jROUOeiVrHO2#pV&>uOGL-`=+YnuK9u zGLf1eRqjPu6-s8MSjgSFZVBF}`BsEpq;s`AX0a+ZGEP|;L?)5xRu<awKhdl9x+ILE zXQnekxHiWkQD53Rb^q5*?7?_Nz<<~vPX2`Pg_)>1;E&IsUltsMjCKsTXfd|y-sjq3 J#@37udJmihKKTFu literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/ConvertForLoopIntoStreams/ForLoopStreams.class b/Streams/target/classes/com/lokesh/streams/ConvertForLoopIntoStreams/ForLoopStreams.class new file mode 100644 index 0000000000000000000000000000000000000000..42454598410085c723ae47eb673d753b1002b42b GIT binary patch literal 475 zcmbtRJx{|h5PeS52122bAa=GEB(kstSSnRQieM<p!sG-ibxCaGr2Su=kQn#@{3ygZ zL;?gGmVBps@15_%Z|^U!0M2pf!$Hr3J47D?hW#a9^Qh#ih;Fl`$Qy>ig;cV+V(5)0 zsfR6wIM-EF>PJy8qPj7HS9LViYAsAN(<agS=~^{<-Z352g$(XgKM00VB9*vVRhck% zJSzza5}orh<wn}L1KnmJYlh3@A2nktT5+iuj>h-N*M!uPR7E^ViRY%EGT|RIgFn|R zlZ%<OU4}pBIkV5<7#{7>9tX^BlI%7`5qU<wfAS2rX=$IVr9pxnvcpdS`P~-V!-x=@ Wd`j2qekBIq66wou&<X>x4#E$V=56u- literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/Main.class b/Streams/target/classes/com/lokesh/streams/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..d73bfd51af22d8d310a37cb52b0ded4b66e1b417 GIT binary patch literal 554 zcmZ{hO;5r=5Qg97tF%@@5D-7X6L_!}6Au_KCdNbkNHAPHEp-EnZP&C#<ImEACLa6& z{wU*YF;NrT!))fAd7qule0;vW1K7uog$%L=ayIfPFq9|!o;yAdN6y7?BD{p5a418W z95G}&-GPZBOaqpU1=xSu`;T!V0_svzGS%D^B$aa+$uQ|Bk>EkEh$RO5RQSGXJ*ddP zX<H~`*+9ic6)OzYIW7j{PBZ+Fu$>t<9gv_h9QC>b19gUmrvk@Uw;~=par#{BoN-B} z+_Ab53?)~F;(QtmMRdi7J}DJfdE6iHNb3As%q3$PGc?_Qcs&9JDYxFao;MBEc{CzK zbxxVV>Z@twi4&<OF!h9c`qOBmMyt>#1E!Zju|b(bH={eh`wI4ymRBk2GLS`+qCIQC s8rCT@v4KrewD}-~k@gIuviO414?r)TsI<?*FNldPY?IE=qL@MZ3v2&%`~Uy| literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/Bag.class b/Streams/target/classes/com/lokesh/streams/bagstream/Bag.class new file mode 100644 index 0000000000000000000000000000000000000000..d52364f4300045caca4c4a07e9bc87a3fa167fc3 GIT binary patch literal 2575 zcmb7GNq5^+6#kUKa#W>BUAHu)LnyR$S|`p>rZ}V-OrXK3LtG4@Oo}6HwYFtsIS?o_ zTVTV6u3*DCELarIaSA!`1Nb}aIeb^L6T2yHYM=9-bcgQ_@80|L_rHJq1>h3C($IlU z6<s>I5m3;7!`Lul1*4RUrPgkkSyw?|$|_mzw1UpaP)0>i!DQAh#tQaLvyzWhT*owu zmDrk*^B-gByj3n+rQEV(Z&>T5GjA8mcF8QcSBm9=235=*P;j9w$efXz&zsqscGaCr zY0yOJpn~DHN)5|Prkl6dMXwi~vK-P8!eIq^#dOnEC!05%oT;EIk{HSaafDCF)Y!O4 zKBD6o1{A22oVV90bR?48%}LsI7+GBM@aTTLDKhL-*|qGFcyrwM=9J|6w1T6N#QmTH zm;agYei|Of6DrQ?IEV8sN0YFtYX$nIZWx8CnR-{eObj)F`2z94%nVPNKe2sL%tjSt zBFTr!Vtg;|Udm8L!w6z3Ms<u~yy0!twF<FW$1yf5EF`0nv?{Eqvytmf2!5T#>+X9R zA{JM1Nx}ICx+*E2O9f_nzL(!^4HI}qB7Iiu_-1x7o6OczG?eM~Q-oVVJjY5{nolhS zaalq4*vRO}co4Jnd}4HbbesjEVP3Ek3KsWZFE)YK>tsKap-c}J@PdjLbzH$>BXeF0 zrZ+3DS!Cz24S2>roMp$BS%ofbu=C;?l2}r4RYyu1_^?;3tuic>vS<`a62Z$lR;0ua zN{Q!<Qpqe_+bo;Hx~Ah5VfB)=V&+)3(gVVIRmW?>(a6b|PK7KXzpmpt-e4({oOW%; zOxjsP%Kd7!xMn)iVvAB58s5_JHr}bXASZ+z8*Ae5o-~TMiZvZstSdNIEw3A{+30Kr zo;4S2C!I(vIHpIw!VD28_JFEx87N)@vug(1Ru@%N<P|*CR%+L^d&V7u_a{hS(khvL zLarHJ--aYjg^b}?@?Ix)xp|9$oN3>kbSh5dqG6R}f;2bM&Tt~115UDgAGQL8oT>I! z{x>L@;k4ho);ymTMBBr)CZ8o<soxQeNzL<XkI-<ap+FxzkmdoqFOX&hf^-zdh~zic z?wAldXIMvJf;nzID|Sl#yk_sw+DA%Tj8D^ieYWmc-Y3RfDlXd759dMaDF}d;ws{+x z3zl3aLGnjrdf+jb{3=k8<7AYbUj|$)zQwpJ+`BJqLAm3xZ*Ud1tT(ypz5og+@~sCY z*rZTd`4$HdB<=TYsH<D(Np3^qt}kt)mwVsU;l3LBheP2Sj&9>PNhc<|y8h%-r@V?( zUnsnVlVJ?r#hEZ7T(@u`eHX)%-4vV<!HLy@?l7M8SWkPb09l%_wAFz?7?Yu?&~#{K z3v(V<{T0vG@KQ81Rl{;LG*d%58k(*l6QyVktI>f#4R2nI)?i4$osfVRaENP={~q)+ ztYiFiIEjP2u=^23m{as9%A|h7d-pq>z-@AWz$yHM)A$90_>DQHhhD-~{G?F+JrDB^ z98{RHe*6p<Ri3~x{D=*_Puo#^jSsMiE?QW}hxmwRQ|7gCi%$VsyNHkZq~a4I4N~5h V`gBL?vmL3=DW%{G%5~t&{{T1k$Rq#& literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/BagCheckoutBO.class b/Streams/target/classes/com/lokesh/streams/bagstream/BagCheckoutBO.class new file mode 100644 index 0000000000000000000000000000000000000000..126d61563e66fda7b76a10856d6709cadf084714 GIT binary patch literal 2672 zcmbtVU2hs!5Ixs?nk)pcaZHmq&^9p;>}{HlCc)4a+9ahkPJ@e7<!Oyqun7ihSt3<c zANyPSRH>DUBehb0Kz~%#nY(K~mc^3Q2lmdLy>sTw+_S?!|Ni+mfO}{~umWEQegy#p z1>&!@x0>41`W<!u@U`By1cG};->@nIzFfYwiZE6~h$y%OMWE0g9IL&-8-3VShnA^p z$3yi{>)57R)jGAV-hML}S=D`k)nV5-IoA8ukn%KSqLF3v)P^y%N(>xRa2audwV^dI z^~RvBS;nCMd~|%Mn*yTFXOarmur6?^-PQViy?5}#i7t?|;Uw>-Wg7jC1l&+?g%5|` z>gJH37$B|SJ@!RRy+f|r;7AYQn!uH5<u*cfWb}@7GlHw|g>ge*bFQ8rC)JesNLIo7 z_<*{lot)_XBY~aVBB%U<%SlpVh?@*?%N1$gLTPzq7&(EBV#cFql30OJZwp+@)z1Uj z5x88;%rv#U&74$@{)nS%=S6=^7gEePT`q5jaZeyt%uHKsqdidY2_6cBt%2QRf%V)X zZi%$gG&+6F8kuytC6`wA8t1C6>8Px_U#bw2pKq9oYZ!gqmePTC*pr$ef%RINY4F~0 z`mL@(@+_X8VonH@qwd`GRL=E<n|7+0mFVJ`e2eaqg+Jv*`gXXD+*vNti2p%I>FCy3 zQ>iz}vm2XMD^Ol=UWA;0GMvk?<}S6wovFCJ7s(-8%awS|78-4J>O7P1dhMrghw{fL zyf!;_ViYjvNI48=Z<!+_6xp(85N#-GvWe20my<~(5T%#1`$%&zGTZtSLrQi|c)L8Y zkfoWnLbE(TPnyXPctpDuJf<H_Q)$!0lq(HGxzYfnHA-h`=+m=AySuasS_6f55WmY~ zd-UZ02N0|uF_fhx521ojX~zJc(Fq3l1wMpm%`!mY_86f;W{hYd?H?miNC(D971F^m zHW}Op2H%naaRN_Z6-i3LOxI~Zr;x#hOjsd?1nMMY%dV0wu8-+uWt?AHTw_35TxAfS zlg(YRBOjAx_oqr$4PQ9qRocnI3V$H<8y#Me1i3jt+M{wC<V$-01Wz517ql{+psapc zrrpEqL~BbTZP=$KB?X<5rc~K8rTUDre1$qaxz8#^pHYqe>Y|$Upepb+8cuM9I`5Md zZ_wSiulXiXytRZP_nLe34IVmJvpq|=dzSYk@*MjUA~U^8xQXl#k=-RkSRzd1g(s1e zo5&qcBHwxwNx6yKCn67)5MiY;k(ZuCHr+%Xc@k-Q6OkW@twCEoWg=2pLWG6RMCiYj zo~)6d>5^F^ul~Z-@898ia_bZsmi8$=Om5qD^c4AI(Y6z`#L2&#ykk336USZKv3cf* X|3t@5ao=5Db*8*mlkspM_4(a@nJ^se literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/Data.class b/Streams/target/classes/com/lokesh/streams/bagstream/Data.class new file mode 100644 index 0000000000000000000000000000000000000000..7689da62ea1e08ffcbe2009e374b499a0f33bd37 GIT binary patch literal 1451 zcmbVM?NZZF5Iwgaqzw_Ud?<c^3?c=gDFswaMVb~UPzX+u8AfNAw8S=08YWGd@xMNh z`lB5geE?s@cW~U>K&?1a)cm+NyL)$Y&e^^B_T%$c0CU(7;el6xPl6vE3_XYXsV<lF zazWN|heqCE=!lzT(^+Kjh9`Cf1Q@3C*0Ef&j*LoCt~j=#A6Mj@UT|OKY|%V9Hp-56 z;+R%h)dYxtlX7B~3!8>hv<_4)0Exku(Pm;Ig6QJdx)}z-smw2US;wXfWnx!^fb0B7 zh#?lvT#2pqLyh!4^a~h}a053l1gJV@Nlw_d{<cB_=#`9FAtlDbuUY`O`Y02wtC7Kv zDM8%AZ2@;A+{F;XNLxTD-O(9(v+1?%&E>6~eQkSZP21X6wJbroTv@<9hVi!bF2q;0 zjwMh1#rO9^brJV5Cg6dDafB}jHaeWLs=1QEAe`!@s-eAM=ntpP`LrBRL=0n+EBuga za2ZvLByK?xm1{69A;JZan&gO;fGERcTMDXPNEVI!kyUk6%}-OxpUwd082o9od|(Ff zh+bonXk;dUC)A(WXe=6A5Fz6!N2xHZ|ABJ71?Kta{Ef$@@=U@ar_!S)R`-+X<>ZF; za>s2_Fl!ddx>L1D$HXOR;#Uu2>qSu(3AyrrHB_yUz4&k0ze(LF;7eKu#H2f8mW{3I zan7)J^u~;YGFDzM?drD4?Q^HkDVlUaM%(k`GfvC`@qFq0Pa<Zms+~7hOg?=<9*^*g zjS(6f4|Us1J6#?yJSWS8C9-Ljns$P0YDm*o=?skoI%rK&hD<x7-9K3a`_L$nqLqjF zx=gF&9>5A#$qFFdOn!$>@&K=WUm)yx&uBSAaIY)WS;Ms&da`x&e!?I{hk0~(?;{5L zFjB{84HIr~ih?o^$`qXH!%S#4G#`3g!-5-+b4&~z(*VH+{lSJH62(r;)2^V4qHE;$ GVErdLuzH#R literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/ShipmentBO.class b/Streams/target/classes/com/lokesh/streams/bagstream/ShipmentBO.class new file mode 100644 index 0000000000000000000000000000000000000000..7184c5f54c82edee66b574f313536b966c205eab GIT binary patch literal 1848 zcmb7E>2A|N5dJoI(zr>}n-)l+rAd02`*JDjq5g^pA}A6+oy1DrI(B3`NC@#xAkkC; zi3i}J5VKx4HYu%IMOyDpcE4k0cYgo*@e9CXY-JEZG>KRiaU>Y>N9spaHdM1C*P2IK z%VkJx>89>(Gek?}Mj9!klgMN-hAhKs%j(L8b*wpuvg6vC+I8fn+7VN^eyI1ln(6M= z80H99H`Jz~@n}ysJGGvxTc$&tRgbjq>V{m^9arHb<5}d8XUM4SwyinNfu=DO#7<A% zzSSo%C5ZyVY@oXC+JwE^*NwJjXE1?i3eybBftJq~DS5@W&t@@)d2+4xdYaj0*eHca z1-eo`7xD=e4za)?7DrBsY+iCQg<A~LdNJ_p=_zusC5FY)-sP-!vslIoL&~*;N`|S@ z`6CKLx~_Lj)$QAq(VdapZ&j~UQBk|ynzBuJD}IK80*2D#m#N%fi0xTzqRdrwQ+w0z zHZ}V_zYn~uR!cP+s;%?2AB?$&I$e(P)dZ0ghM9kHKK0J98lwuYZ}b0_7CM@{bK%7< zoaH~r48z{J;Pu5YEI5}DPmcOkc>ecCqt_?qFcSA1dX)d(GQZxmjVlaooA%kmkC($` z>Q>)wX$LyL3Ax~zZt^#cC29o`>QoW>QO5zpJ#V#2Yw8a)Pf{$760OU$I;L-wzPZXN zSY_=5$;$c(q;C|8qC#T<F&Z;8jv-Be<B+gMk)k+;b!^az0DL+=<3tf`Qj`l2|E&(C z$TYi;2fhHl;(Owi??`^7NyMW~c)`3!B|zdnmGJYB{(nUMSh#pgU+y~LIS9n_W(`b{ z-)RqNM(i4jPWYk&sXP)$eL^hM=4s@)dQGRfRLRQ~*GuW*WJ2<|myub@)ExPq4@sAN zLWZY!=7WWOOQXIQLx<0NGd#x&|L`_Z4*hz?5)y>pB57W_z%MTiPdK$cAM2g(s`L{R pA5Jk@m>OV)n;YOp;ii~NG|zt-;PwD_MzyYlw3dcOUwUa#{sQmTpfLad literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/ShipmentOptionBO.class b/Streams/target/classes/com/lokesh/streams/bagstream/ShipmentOptionBO.class new file mode 100644 index 0000000000000000000000000000000000000000..defe29e0fe50c9251e80f81b40139f29f81ce26a GIT binary patch literal 1875 zcmb7^TTc@~6vzM5J7rsFDWHN{1f?x4%gt*k4`6sgYl1fM#bjGH?PA+)wp(9}-$@fG zi6(vkKa}yD-ECR61?6RCcJ`eA{N`Nd_n#lX0PJ8d3LpGo1SA9z5|}<!J}GijY1id) z^;E5y0-;^4t(kiQ{!F$qfe0qTh)S4*Bv7d7ExD<GRJ#qiYZ|K3>dIB6ZZGBIhSq7R zZL{1lHNCxG7KnG9tyikq&`$*9qkk%Nw07M#-!B*W{J4ZEObbl*ItLBKsH=ynDv&(7 zK!2(Cs!i20PD+?z<6y_oYHAp>0`nJ!$EHE*`#r6Bq8d@8;E&*zK-x?G`7(EjP47rp zz#_#*>2%aK-KCImA=t{r?8ugLSdk^}vBZ6krycieJR?}5NaoY7>z5)}7Kr52)-5f( zhphcbU@>!WJw!%A7CG`ZbsJhBl^Jy@3RE&T%$Do&PD)01vK4{Afqp_MoI29l>g!&s zsv2(<N+2gyuPM!nVrcyBYzEAR*8Q*2aTg!)Z{3vNVr%M~TLOu?Y7VMmP`sNIrkj;7 z>2ybR;-vk~UCWo_?}U!K$746^t~kexnIk0lhU=Y{<l`)($9m7GsfQXzc6M-?L36Hi zS73?y%SSJRpGN9%TKTxyteN_V<|wF{utsB^zMAwuKyxa04v||sLpYZ|Lo8P~L*kp| zRiJT>Jb($ZjM6xXI4RE{hIQJ_+5V8RL0_a~ohz&rpUgBV?qOo$lS9tQ+cdLPkWaoi zir+I3asUZSUb2lGc^24o1WGis?O1^s5=dDBbGFftFNiIo=d-uz{j{SXTi-189pSH} z=>uPzQGxlf9FK<_dt}WVAuD{|n=BCVq6;K61PM8T5_p2AV?bhFko#jnp5eLUd<i7x z1z9GLl`B9vPaKgKV?h#Lkkzpu#ql7nGO}~KMj-hsK)6g8gdQ{+xj;WqY&i=%KaqNW tj=AJ~AGbM8ecVl^?RAXT5A1b<*3)15Sm|Tc%e~>^-WgWZE~)!a`U^ZMbY=hm literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/ShippingMethodBO.class b/Streams/target/classes/com/lokesh/streams/bagstream/ShippingMethodBO.class new file mode 100644 index 0000000000000000000000000000000000000000..aa59473f65404c6d350f669b0614f3f032c628ad GIT binary patch literal 971 zcmb7@&yLbi6vn>`r5&&X3<3%||8!x&jNQ1?%tFbm&{<&Emrm1m1UhLu^IB@+#KeUU z;6oX|(-JC!E=-flx%Zs&o!>e4^7GgC9{^tBX$>Wm4QM7R&=s1O&W&TwouzM|&n`VT zRnT9D%P>7vC|iSR6+5UJsF}D2Q{lvo7WO>)=p})jq_O8L5_{(OxoJ;=@aigD`tQ6n zh%VloD^!!~*bSW6_Y~A<2XzIAWYfeRS_+yQUC`AU7Z{T?ro=1y-e$hWI9z(~uNN~f z{@~2!S#;z&^QjYuvR@r)X%Hp~_V~XDS*B}^wyO`O3a0O+lLDX981XRKIMl3>gc=OZ zY1`IdTa5us%L6*rwqGP_lZdsvvrszh+@0hLnGcRRxe~9j#E;jJSsWvObtt({uJ^e+ zLzx!P9Daiu)^A}9Tf4Vte91D}TwBn%@)_`}GPA+8!xJ;lLl+OY6U~P!%{etCr+-It z_)O$aHq`qh0SOCr6K(9Ghk91!h+0%yRS`?N5#qi)i;TWUJMYG3x8kb|zry%LqeQX1 zWiY(JuB@>i;qfZ@lwwj$&p3+#$ln0Wl^jv%W_x{&q_2<^_HnQV;Ui|OfHXeS_!Fe} hSCB&-twH401myX~ta6Zjf*kw<L?$AIkF$zTegh;#nn3^n literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/ShippingProviderComponent.class b/Streams/target/classes/com/lokesh/streams/bagstream/ShippingProviderComponent.class new file mode 100644 index 0000000000000000000000000000000000000000..d727f72fdb20f20860ec7fef06a2c462f81a5949 GIT binary patch literal 160 zcmX^0Z`VEs1_l!bc6J6PMh3Iw{9OH<{Or`?4E^GgqSVCPV*RAVbO=*FI3u&5ATuvL zpeVmAGbOdiIX|}`KQA?}gq?wfkwG9Uu`E$PCowNw-#;lUHMxY5fh#z_v?w{%Ei)&T ekwFfpc0G_zHbw?U24<jJK!A~f6-Y8MumJ$Awl9kS literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/bagstream/ShippingProviderComponentImpl.class b/Streams/target/classes/com/lokesh/streams/bagstream/ShippingProviderComponentImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ecc000d0b7dcfa371a6cb6c9572e591dbf3fc117 GIT binary patch literal 3566 zcmbVP*?SXJ6#w0{blPOvhO!p0Y(?6zgiQp30!=85wxpU;6;ZrRZj+&tnPFy9Mcns& z-*9{N#RvU9t-^zkJox!H`FZZlq@B=^wth_~_ujeZ{C;P-=brri@2$T89KnxKM9`w3 zRmCc_F~qO%S)SCnQA*~fu84xm&~{QYH1|P<mVv>^cC<6Fd<UY4DNt2(qKn}~!K@^8 zb4EDjq~qFxSDfS&FZsh{zN}f6W|YQlb5<(~J8f1h(-4N6tynt4ntUd6IX{veAJ3jY zcX{mW#7Hi~&@;NgB=6cJo{A!l)e3r4tif7_L{rcqUP_lmVaBYwLpcVuBwWd(La+{L z9~kuYS6xj{j%tpZieWuADA=f?7n>NmJox$7<ObgwhRt=dH5)yvQ$6I=Eh_FoA497v z9CF{by6w|dqu^?$ksP;0Q7dp)5b!o^SFl6HPV_TuSOBimO$??r-4!;&@qrNe1{%Y* z)#)I94EL(ojRA&L+_Lm*3|ku$91fUz{1PhmU@wC*t#fybTMWk<a+nutMj?Xz(nU#z zO9P`#gV;24Qelh+Ug$v!4yrhW!{j<%C<u$9aTjCLrr}g8!uE{4PsLH(FO4<rv%FB2 zF>K`Ud7;6{D30TVf|QDrc%beSWz6c7E=bud*Q+8o&9H7D6EOFVnZJRO`xH(qIHO_+ zX@-4E`bB1P&XTz#^SjFt?gcAd=5|R83&L9$P!3~Ao~LkD#W2n>tPUNCG2xcYBEvz- zg(Z>YS@s2na>P4}hZH=lViaS`;T@Kyb4k4ORlDF3r!zyo@kr)Wj7vYX)BAB-D+r16 zsERx$$d|-CZ5GMOwYA*!%*@y7#3UY5@VJU6aIr2J{svkSSF2oivL(Z`MVdQz`YTX0 zcrl7gcuK+3DlW^CvwKP3$f(G8Y$l3lX1S(wiheDP{ct%7IK$B;RW&S`<Rahl?orJU z=c|<|VNXa5SuxE5*C)BH$$7BY>XtRCcPEz@)rJ*1MJ1zZ6{%F!?C=6IY}!<~hi&04 zXI)Vtoa7P*x~?jx1}7<&rcGCZblKkK9P331O6QfSBJW=wwSFoBhn65$yB}(&%HtPz zf?K1uO32NLE>g2%u7~~)SIYFxyvqwSRGx$2uh2yY88XXs5gq(+^{u~T7@{?&$+#|~ zqWGtV5^aTy4^Y;ufHAo!nm4K1h+$2hm>n`y4Ud`ZO!mu*m}<q4X}V+}xBQytbhqJ! zC|<-%3SL(63SK2e3%!bF%u*ke9QBfuB=|HhxTa0_Y^)NV{S&UwfshX{!i}OXoc>YM zoT*x=#eGm{rA~0-nkB;9m;cg-Y%UwVvjWX&uIqV?T9`OqzvIU7o5$4PMe^30QR)`o zQZb8X<MQ(^6_l{`wY?#`f+Z4uUkZPq!iE!v)2-lRx$ub!6INV)KEDg{Bnf{h_kN{f z26`OSYN}bop#D?mjw7fHf6K6IQREs0LBaP7ea*L0li^1U+X*y6jn*^t57{8ovyH~o zVAFGoX2-qvKrHbGSfWSy9UZ^Yas&l>N?}m%(n^0t8mXR|7zCzi#!x~zP;;Gj%Dsp8 z%%S@x)-l||X5c2aMrgE4js_!0+`_*3#RGD5B!UIFO~eXlCzc)9NZ>mWqy3%KH*NFa z*ZU9wJb^*O6|i_zdNm-DBf8So-bB}*I5vj|6LZLP&0!>%pI?CMA*(=O?dYa<K2DIU zLss^p0t1LgWOxJRBCxWLtjyfT#>8*vki$7VGKUK{ptSyk)|Q`1Ym4W<F8U_dlHX*P z84DTFH*Z9rhr@7{cCJEX%V}v3rC0!YgubOcQL^Jn&#}MI%ny%@p$yVOXrgdYCDKuu z;em#sKtre0aC;F)Ur9$uNvE%*#wd20esAG95A_<Jr|$$g?mDf#hBxrGH+l!};lp6< YBYf(OKEoII8sB&f8E)V^{D9v707HN1x&QzG literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/forEach/ForEach$1.class b/Streams/target/classes/com/lokesh/streams/forEach/ForEach$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c1f33810c9ba83b635681651814ff99b220026b4 GIT binary patch literal 939 zcma)5+iuf95IviOx-l+IQyT8K5=t)66@s@^6)3b)rErmg^1{=`-6mV?-O64g@mcUt zBpwjYd=z3faTOyffhF(Eu4m4fIXnLO>)Uq#&%k|@Q1(y>Z~;pUwPW#7@JQ$he=|Oo zp=DUwQCituhH|Sts$v;c4}O4)2>u8keoC#3DavG&v@w_gDZ}3;O534Lq=<VyE@9O} zEx;P;4D08_FnA{}Bhm!YnxhoT>9t25E;Fnx>O9a^PGsVvfh!)a2Dpan49(EQJTf0- zI_2q%J>^Fx*%RTE@6T=X2{k9eP@Yi1jUrbLIU~EtaAQW6Srzf4Oovt(&HF~DSu7KV zO5YqxhSh=6@^u!EW%5ppBRZ)MOems}NR->>hZQ?jDZ|#_f9mUz8l;75kJKuNaaJHh zb*Ls<*eoH!mxYM=?e*p-=a;@y2tNbdB}#v2vLuxI$~6(>Vr@GOsLMSaMkZBy@=DsN zIrPwB*!*`d0UqHoX%!1a7u#sPFL2Xv5FUw5YzJD)q#ubil_~Dhm6kyI)2No|r3t0o zE%G>7=1w|a!9J5y!fjgJXJ7?)Xbt881agmd%uNNYF8Mh{m&h)Ef!967$|B$W3_uMY z&8Nd~^c0t4IByg8!D=rEt)8Pj&C#lz?hmY=Vq*dKcRAG@s)8l~m+$~vGy4!NvK6$^ N#Ws09fj7v~^BZs7)HDD9 literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/forEach/ForEach.class b/Streams/target/classes/com/lokesh/streams/forEach/ForEach.class new file mode 100644 index 0000000000000000000000000000000000000000..fc7d97c00a5a7f0062a3ff428fa8f90abd8b93de GIT binary patch literal 2513 zcma)7U2_vv7=BKYc0;<QC4~Ue@)@utK==}sU==DzG%aW#Snz9`Zri1s-LSi<6hZtz z6rIs)Z@uA)3!SmFI67WC{t0jV5sU*qXLkb|f?#H{?>X=H`@HWt=Z|}Legm){-=q*j zTtPxb2Ra3M&uep9-qft={E3P4desx?JY-mgH!Khz9I7Zt3aogjRJ1&OT6a=VkW$eF zRX~~3%!YnqN+2^>94fWx7E)M_9tFKBRv_IB+3*ZAf7o%fd6ywIw`91Cy>;+h#6gfz zA@u26NVS53l>*tSUCW#HtnSX_UC+_Anwy`pougWHCVwoT**z)rA>M`6SfgOAif6D+ zV7Z^+18*!KG!xi37)1AlQw^)?8Mc)lu`Rbz)1AUlWf=yrUcm+x8?mWbijQ7--u3hv zL9-jIV^!eCu=6J!!}7|0euX5q2#Ad-Y{fPO&#D;2kU*cGPpc}Es!K!DqOUNiAdE-$ zG&4!FojDaduv5ZUt?G4#-7px%s=a_D@&X+b1Zy^hJ=m*YpUR<luGwP0?f`XmWx1nY zXc&$@W?N$o(-hbi&7`$CkqIiKA@ICR?FE7Tp-F3bEiG+NQ#S0NiUJM^BwXW??$2UT zvWHc?j90jy)+NlX0~e+w@jW8J9eD)2X37=m>8OfhcugQ_c)Fu`wj<{^3STkg7rIcy z>k8gbQNpM|`r-UERoJc>%^lM(GAEvzv(n;(ij#Pg1z0|NWz%;QDS3>_Do)8llWccI zo+O!mMa3Ds&0hIaKqoAeXYs7S=BJN6)ko|}g4R<qEPbp|o6wz8+Js3?x@1>1v!XeM z+=tABH)F8f+0xTp7wEgD8Jx;Y%Sq*c2V=?kHux_J#0-Lw(41+y?u(x4P?tihQKPUo za_0QwO-YqUPGBG+X`d42&|1xWy;;%Lh@o_ODA@bZhc{SZn6>PU=(Pp-FQe|Vr&VW1 zwYm?Vg1W%Eha=JEMxfi&Y7>)MRsxsZEuni%Iztu0MqK+IBNIrK?S@m;j~TLwYIwcv zl2M7@5!?2718VhA-J7u|-JVX&r*H`$DY&fS3O?r4_zC*;8`c~z&3wtvi5A+FR^{~1 z3v|_@yFa5@hDJev<C-;T>Tb4V+p~>&A(C*|+6bq`@Dw`~Rsa9OAmo#6qfbxhc|<eK zGS7FR7b8UF(-g+>nTiW=dg1hR;4r}~T9)pNn40VAu7WT52DM@JxUv=85Lo|YRo=`2 zM%cu_G2YlfoR=eCUVhJUmnRjZ9ouh1{K!QN@9-<dKoalrs|E^q5ASog3?D!vhsNRx z5_APDC4Yr79#<BztUR7b`lO@NC!HNWQ4*3YqPz49`o?c#)o5<V5;8ITg#PsA1!Qw~ zu$_*YtX+~t+4v%MpSgnrkBH*K1Gy!<DDVR^)XEJk;iVWBaQIqW+`RucWv>d1?Oeif zf$!1J#hAeFP!{mkfdma!B^Ge{=Ka59!3n?MVf1jFLJr;7$2a>RR^kXU80AHM8f!3v zwWy;Xm-+tQApMSr-oj@5j4fE?eJO$3PcR(HCr~BIw+P=PR|yFabWD-v@GYk4OEAWD z7&uS3XUWfy1~T)3tVW(i*%~D7!BMbUfi3Q${~vTJDBi`U-jtl9pcU9lZNFu#ZaaZ^ xw3V4iE0b{H(Q_OPeq)%!hhYvE$-9bA@Hv9jHLkv(EKRLGQu(`%ukbb2{tHwEjG6!d literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/nestedforloop/Address.class b/Streams/target/classes/com/lokesh/streams/nestedforloop/Address.class new file mode 100644 index 0000000000000000000000000000000000000000..9466c0d8f13c656a67b9cd51a3f7a2259d862ee9 GIT binary patch literal 1524 zcma)5YflqV5IwiuK4`ZTY5@i0rPA$ESP@@Xz$l4H6M`lf5<iipy~5(Q+w3kT{wF_Z zA|=tpAK;HN&g?Ew+hWWn_c1$j=FFM7zkYxJ3E&}~XAna?1w};yNr90Q^P_3lX6wj! zeRv}4zCd!rYFYl4KwK;D4<U`A6f!EZPzAKQ(==@7gY=FK&v&KS^o*ADeA#&KxVGc8 zjTeoED?Lv@d2_Jq2#6X(46DdvL?F9ILDE0iHJehPuyd82eps!eDmxcc++b&A+wwo9 zFeWh3>-X~1vK!LPpon-HHw6-$ZIkblDyA?^Wti=@Y&8Uywf;2aK2wBPWr!Jum=&1T zYS%laF)xs>%ym_?S>otB9DSFgxBnHrD3GqqafxA=rlJg;jJ^|UAyCx%0jkslt=31s z+HWcEvxH8AgwF3+ExCKzJe2NR^Uw~Ycj~6SZ@L!WBctLUThuvy=YP9QWR!N$=B(G< zSfx&738apsA5H;{QjPB3#a$s~iQX_dbm>P1^7zXzHmG?N$<VA_2pXO;d(Np_m#-`? zP>lw0g+~YTG*&Ts0C8Grkm(fTfedz<HQI+jLxd$-D|EBzze0OaKZnq#&XCe8XUOTx zXBhn&L@m=gP7we-CVnLJ4I@L7o5c!Q^)Ma=?$eEsuu6GFaC$%)nN1OEbczR=lTqe1 z+Sx0?nXgjuvjuVlnh)SZs6+%W=w&~O0E|n3Z%BQnpct4d;{%0(!H@AI3f>}bPLvF4 z?oH42P6P<!q1R<~$*4Mkr&M{UVK<T7mmVUM1BtBTSs#%l(!H0+3=x^Vh6szx5>^Ki z8SN#qFp$W`U?N?;4;!*bL`v5X;odS4deyY@RMkl}?!x*H6yKd=yfD$hEuGrb!R^9a ic+Sx_QtDu#a4$5BUKlzk^^#xhBENn)3!8z~TYmt!GX!P; literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/nestedforloop/NestedForLoop.class b/Streams/target/classes/com/lokesh/streams/nestedforloop/NestedForLoop.class new file mode 100644 index 0000000000000000000000000000000000000000..3f5489de9d0f0028d15d234bdffcc3000d27bcf9 GIT binary patch literal 5430 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 F<Nx6qydwYr literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/nestedforloop/Student.class b/Streams/target/classes/com/lokesh/streams/nestedforloop/Student.class new file mode 100644 index 0000000000000000000000000000000000000000..56b0f4eddba32c6c6d7041940505cc5b53759210 GIT binary patch literal 1965 zcmb7EYflqV5IvWc7HWC4P!vTezGw@w_!bLA#aBp!1`LUx%+jv7T6W3q*2Ea&FEY_Y zYNClhz#nBiv%4+2fXbJ>vvX(8oSC^ZKYo7w4&VwNrqG3067e*;kx&?XslV2>hHh<Y zk2YQ!HBTWiZ(62TQHT|a>%HhfZxX3Ajv%d2sM%Xu!+vGBFErP441LShEW`DT`g7Z9 z*!H%z<~8evMVPpyZy5^N>TZNJ&oQmdvS9Y7F@QmZ<m#hp_1TK8pq53SO=Aed3jJ<? zbGu%54A&*m0H^7h4XtXrUO9;og`-jMJ594uH=Go5i1lEUKp~;GLT6!8E>5H|hLcQG z-`+N?y26FRUXsN<st~#?5aR-oR~RcS9c<Wx(+a8Se3;^bIGz>9bK<!CH^)hZ%yj<G z8u<Q2@h?Rv2c0V)3@DMO)3|^cg&xli`k*je*y~bO=v^~6E!}H6Y~OsO?DN%szJRc0 z<qDzB?^D_32xPgq&eyVJ*BNf0YFfrhb8EwJp6DA5|NYoCy|J!4ru>J>xc9>3n<)L8 zOxS%=8L9pO^k%yaw)!6&50$p$liW1C6@LJdZd=Oj6G&`RwC#)mhi;iFI(1ZWz7?8f zXcnf^nTl+?gS&H~P}!qA6n#cw^k}4^ko;~S;j|dl9x9Tb{F>c#YQ}w2nw<`#&d69} zg8QJ0TPwydw-2Q*SsMPyB>@G^muG3GxXv!}{t`9s>Cw$ISNZ}~n%Y6Kl;1&LX*9lr z%qL#NaGBo`->469^rM%+{e&JyhD#DCQA+?^#WkKH2?6CxLP2QdWK+@ZI_37=5N4?f zXx*Uw9A@|xQW{V3?=F2t@*{;VpG3k}4*Nj^knS+3!cCMz=L)SQWWvuzQV6_dnFGg| z$f%Dn5?FO;CqmksV=RPN8g1G{`aX1^0wQDk5~*OZLnOxP36XJDG)g2-A`=G?k*Y}r zZs9fwL@SbsR^;qHM1r#3A;=Q$h9Hl5b}I8*bA!qhNT_%Kq2LAWHZQ?;&JsI_a*q<% zCBH(o#-ycYbKj7A`UOX`$67cpjpQ*n*}|#pM4;$v;Y{{?AZJ=A48G%K3scebF8-F@ MT&Lmp{cb$?1-m?+v;Y7A literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/nestedforloop/StudentData.class b/Streams/target/classes/com/lokesh/streams/nestedforloop/StudentData.class new file mode 100644 index 0000000000000000000000000000000000000000..37cfc27447bedec2a0a05d57e1a9bfa2aa19ad55 GIT binary patch literal 1310 zcmb7DTT|0O6#ljsl3tJ!kO90E5o{5O7reGs3k8+wpfiEabbMOcSVGgJlcdZjKKbUq z5q+p5gFnC@<#;wNl7W}H51X8`=X~co-|qSS=jSf~%Xk?_2w@44B%&B%NbT``uA1Cx zsBd=m^qR*ols7EHD=>sJ*@^_2VayNec!sGK9fyA?8?F~a90>`@B!+Q;VX<bnRMT$i z?yl;3j?P=IYU!@0*WcTYY1?g8^E!3i@=Dy}46?ShU0U1R(uhI%6kP!4;*gLM^hOz` zGJ(@o+cb%xVOu#tY>Xi@XjK^(83?ks4kSzsl3c9U9o=<hTw)l0#jQ?@Tj@>S;Es$d z)I`&^>b%`?;+VuW!8lE*nb$qazNVVz7*->9-jl7!xXutGM3+1EJ|W&9={LCH<IUry zgiI1yES%iYsr)Vla#v`@Fqe530PkI4E*lW7FR6k>LGU)id|%Qazm2mAf}Y9{Em}>( zJCW^^jQb1;ZPzf{JpGnCO&JeJhLX|dR#S-bh>llCpH_N>e-w@<4AOSpZ;G1LjE2R% zj-xZ=&s5Bp2ffN%A;%C|wd;g3QZ_7ov(wtqoh`m&l1C}qHEve8V+gzNjCi{SiMBLw z4e>~+N}{2A{bx(*O6Hud425&f|LjE0*UbLB#WlO*)bw>jG?EI;%aWK7%+SPz=m9fK zi<zVEQ?f$HAx!@?&9vvqqtcfiJE99+utPuO8SUa2kWrvL*$cpPyzqTRtPqe$o+U7` z5=W4#-w^9!<SUsBrx2t4x~l|M`d9T3DL?Vc&@q&1_=q-Td>j+eV@wKjvKmpQmCIdR z)v6I;MwJ<5R+v99*TpU0OF2v9xDyHF-0S6>1Vw$|WdaTcJyaeCkSO*$VxsdN?FoPI X<G70iD%AS{$@iJWWLTq^5Z3<!u{lOa literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/streammain/StreamObject.class b/Streams/target/classes/com/lokesh/streams/streammain/StreamObject.class new file mode 100644 index 0000000000000000000000000000000000000000..36a0d5f5b90b33ccabb788ec868a7510f7fbc830 GIT binary patch literal 4630 zcma)AX?Pn~6+KVe$nwNdl*FmiCU#Rh*iIZJY0||Gp^4ixrivYq>*BOP$I{rISkkDY zk&6jXmX>{QSz4B`7f2~-0mpVI6ewF4cFI=DzVGWFzK@UdW=76PmP7K{o~QTjJ@>qO z&%1AwhyT0q834QR?-&9IDhR0vBO(w#s!eOjoK~1f4vihvGqylvk5Mq}y#m3`u8~GW z(V!rvq7kaVI>)?h8@Xi3wsb9@Ogj&Ou%0j4GXm##cBPgv>PwJ9lZusyGm4hU=tYKW zt#TMI7c#bC7LxsDp;XT6R-a^$P_Y_o1e9^px=PDT3bb|lqAYdl8d1<(wL9`O3KLPB zN2<fxO=TmB_1t1spN`@JIcH4hRumh_EM-pVrAZmLO~r-SBoHvi1-5lw@5c0Ht8e+u zO8<5h9oS6XV`U?k)h&UGs&-qI!}k5I5qI2)E(P5xw#b~fE|boRJ;^)p2?+G4*oLG) z$kt2DZCh2e#WWqZ^sJH5Y~4xj4i!6bG50-g<ZQ|D^18V_<Fx#q6BO5O6_?;rlG2LB z90jpVeGhnrb|_q~q8EKEM_wxmTvj*!qQmmxV|Xg|DtMZTE3l7JT#~qcGnb>rO{>K1 z+Gfg-N!nPIB(EfkmJYvu6<6Xa)-mG(2yFLrT;k(V^b1A7)dEdt7|GZT7{JpNT%#g| zL)B`XDcO3S2{FrLxYpI3VI~h##5SeOlh+r+5DqJNhKgq*EwI|buC^iLqV&iW2;wpJ zlaj~eT7gxLtFtgruyr1U7>043if3Vz5Yt+&tPk-7G<Od8cjnoW$o05E!LwC72hXi+ z!|4(GEK8e_xz<W<t~>tU8Iop9`2lDu#-#cqZgLX{qDLMnUB$RNZ(6pVO(2Bb3HGuk zxp-8?6mpb*QP-!I6VhU5Szbs9L{N}AHU&DW<gs{$_8SGwni(qUmPS1}D!EC81-V-u zuX08g7^su-dTpx)%b#PnDKo{xD65#p%>q#tbVQcK>CgjG1~XCv&*#2bAeQt6l}7E9 zlyYI`^O{Qx#}JI-7J(J+ac|3Nw$|Gw=U<}YrFfaFR<WoTvg{^){w_?V;Vnfb$78rn zLcF}j)7yi8TUDGK&sVB=6<*EV*`~WFu%?oEUohGZ;k9zRud9)Ch2KaNZx9f}F|5U# zRJ<9t3&cvcX4$3d44YR+)j_Cu9Z~QWf$of%Pv)HV@7-@D@0r((f_K+d?#WQUnPm-D zri_9<Sk8~>*045~<4huDX0+UhW*PFcHyN@g4QgX+>fA%HA%<jJdGP#KPlfXc*EMT` zsH^KN3p6@cGOgJy1X_H`EBWtk8K$7+NnCN~cL=Da^D<EJRSNpe?g5VbP@J<$=bY0< zqx!U77;w85Z*G=gfW)g)F;lFhqsNC+#b%GY;FR1G&R#M+CwtPR()*-+yANOT^uzkh zI?iHNX>Ss4MNZ3)Wwmx$j`rOGeg2bCG4wI7O!+lmnPbNEoX#Y#uH)b??yQNpOG==Q zbr&TdShy;B7YlUOHLe3dccaFgvFpb=Lc_GJWu^{kMNiaKak-;}FNBxn8uabeMqY(^ zLepm1%IF6Sd4N{Ymzs4Kx5>+ix5|Fgv`e<76%Xn5q?s+PjNpqgd<kDx@D&wb#lr%d z&fH^0VVcJ{nR3cT4{cnN_def88uR{7kNPv^Ik^E2YK3f0FSVykbE;hITe>sfOqJs> zRqi)G_eD44*?s+r@{s$rTrO?!Z7z;9v+`IBci?L(K8ti5->B(#Uc$SM(C}N*@Y^aL z!0mDQ^SHofe>y6*zKwcQE5rD{?5{si@k80P8*TGi-WgWER?_2mq6WuPf}goJMG{X+ z5<gL~fYWiD=ETqC#4l8w!dx74ocOhz_>GEB;!|<?^ZPRwyT3~;W$6!CAs)dWCETA> zd>kj^ILTHwP$-ajPAipkwo=8rC>8vjcmEPW)zgN8fATHz?54a`T_N!c#T|T0mj9xB zVds}H{(UPyCHWM5hPzKe+{ZxxZ{uINEKT3ezp871J8>63HQ*h1Cuis!i19V30T7`% zD5)(ASOLsqRRGEZSUVa_tV@rE5-sV`aN_**Xe6;AeQ4_(S_kKF(LA0a&>QMmz*gz9 zJ-|ZjlB3H4n8TiV><{2U9Ow<-kAp4YSq#PrIXoI<pb>&boJUx39+9x~P=d}Q8dsfX zJQ8n^gE<`OjkHAOaid_2j2CSle9u_GgcouFlX7HK2Ulcpg~2^{8Eyf2X;}=C-ta8! zOQJMd8=b}TWbT4a?gsg-5zIvhP4Y`8zg8vCL)l)6b+{Vm@vXZBqgW3O7vMNH;3PJZ zODi5i8ym`ncpRJXB--&Gbci4}J2kk$%`@JGcN06r;vC0&ScOhJf%kGQzzE;N`#2Y5 zoX7BfjzWxb0w2H!S?=S|@ga^PMBj$HIZ}w<fDhv%tnx>RxtD7$?g`?$X!k6lomfQs z*dp4!i)i;kiN~b0U0q-w`AD&?*uoTb^Y=!k?j$Gt;%av`*6bSMKHSfBnYK@GBnZcY z=fPb`8d8qynd{RyHhKy#OuT3oFDCM>vv|cUUQ;XFHlJ|UV^(4lk!RaO+{LI8F(%1{ zC+o0l^&!MqaTkH@!b7;mLui%=k>Xuwl7l;;gziQtcn`5%F}Me5gAc9QMZ>3Q6GmXo z6>_s|h92+^4_N6=ynYsMlt})pt@9x%+!_CWh3;&+p8HPEUFwpI25U3Z<nxcx|3Qc8 z=bR{?#~1iKNNGGo_K)CE{>stU@lAZk8GV-``;j;IWBk;c`x$=ej2^+S@LOl}JNyBE Y#$SjgzngbbVt<V^;BWW`{)LwR0hb!&djJ3c literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/streammain/streammain01.class b/Streams/target/classes/com/lokesh/streams/streammain/streammain01.class new file mode 100644 index 0000000000000000000000000000000000000000..d873e322a5cba9f7469a4ba482401ea9751599f0 GIT binary patch literal 2740 zcma)8YjYE26n@?$?S^z~(-cZ81p>C%8>AqD5ad=ss%eV`i!I)^$+lg(*^RrKLcQS~ z?{`1wAK;7QjLujnj*g!l|A2qR59ssmChdk6hMCO1@1FOZ=bZDL^PcQqw{QIcU_ZV~ zAcClZn2H883M4OS3tGn1tl7-?^d-IE2{axtEW<l05bf=oP!JbrT~!*fJbhMo5>Sv( z(F9dMS<uXiK0YJR-aFElTcevz-~qHKNUCT>s^+rd8D{2$<7kU6U21O5aOu0J_hJYj zh$vgd^ev=XR>4MrHs8@Ij66x84bctQj1C2zDjvj^nma$k{G#jWB_?K9=xbBp$*?o$ z9K-VRo}+7}Y#dt!Hkt%WUpBlsYNlQP#7$s3(h7E{*olW~{_CwtMp<H+7U6qCnGoEt zX0v@0P3XZc1rMv}MW4U}t4Ra|#0^h(G|zS<o8iPqs`6|T1~8~#w~9T;2&7gKYATFk zPIJffD@>9#oRSuMRqVqf0x`=MZ>(X5D$hD8cvQs!92AH%iwRj*A7Vs?eMrS&WcjWY zi+7|~E7X+a=y6F9+oz6zn#M#N#|2cMUwbC4FX&c^jd@bVFiy!vC=~QE<KA8i&@b>z z#VUA)ZDodS%dM1jhb;8qjEX04mf6nO&S|YMCy=gkeix&F{wGyDg&chabrslB=PQtA zSTWfSDF}?I7{@ts=jpOX({<`Ap`CN|qEXO1ov}TGyn^#8p2dW~=G6+-VKagm!(>?n z4y_yaDq^@1>M&Td=P;>YO2tJy&s5g<8n#W7*V=aEHS_GC%eK{}P(@tP^b>ed#Y=dZ z<Q4(|fuV4aYiz<7zglbs(*pekyOc5QdEK4M1V(OkEop`o+79g{!^3uw9oLdGEPbp} zn%153+O$bYDrXlob3$_r`Cb*qyg7qe4d(9O1=}|!{mR=Fo;3N|{S*)e?{?_wRwtgc z)SOxRYg@-qph31YQ%DA;tHVm5Ngj>QoMx}nJQ1)E6r#O8uf=jLx1Kv-j;s^WQO4Aq z_q4+Ns8+6W(rjv_>7v#xlk8?V?cpg@OQmm$b>#(@lbjG?lcBqru#uy>EJY%3SDb== z#*i<qK{C?Y(B3_=`N+UY+x95e%A-05XwhwH#MK1e!rKboQSmO`6WHnZsXu%SYk}R7 z$@y{9LYvWKyDpNqQuyufa3)owz`<F~Dw?|6owM!vN;w;1s#?~Nq|Wd>`3|e!|6$<r z-nQWzQAHlsOf%03pH1Q@S-F;gh7VO-!D3SWvXp%)WuK|2U?GVGj>-|s(w$*bb6wq4 z@D=|f*KoHU4GO*y*miGKPK1Cn?4Z*K=P(fCz~h$zp9Q{UxC*Wf{Wl<f<|cw7pYj;k z0G&@YP{0gkec2ogN@y$=2-ZN^QnK-PD3j5Ko7j+_j3qbwYeTZbUmKGr{8ef6mw2*E zt~b$~`weZAH?V2+7qq9kmauJL8Qq-5yO+@~@IAV@VY~hb<#4PswuJo+<sYC9cE*<R zSOgcY|Mw3K2bOR|+8?9+;4Pd0mT@`)LX8OA!l-<II)a<Hu#6WX1nU{2`fgguY-4`5 z2hhxYGY+B!$B^WoPAjI7g2}Iq3O2EP?YPR1j%(<^*XY7e*ot3~_SxA_2BxWZ3G+lF z7qlvIJxB`+Hkmqx%P4afp<NuWa2JI`jWpLl%U#iOSF~K7dellGdK+U3di>wOu743p zCS>yjHNYua$Xd1ZR|!&L*Aa{UNKrIY%C1l;TNuzh&n0{VBF)DI5!s?u#C=u7IC&zd z&r`T7Izmu!yy`<m@fyJ*cpYzWZRhSyx_=)Z;3I$cF+RcP_=0B%dijzpev8ik0S&ds A2><{9 literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/streamsapi/DemoStreams$1.class b/Streams/target/classes/com/lokesh/streams/streamsapi/DemoStreams$1.class new file mode 100644 index 0000000000000000000000000000000000000000..5b79a5a72dacc7e805fa55471883d3ec58d1b14b GIT binary patch literal 908 zcmb7C%Wl&^6g?9=bz+<*4K%#Us}zVEfrVg~ssfcFMM_(wpe*QW;ta{O_BgV~d<;Lp zh7Fq{u|TZ(D8zMage9m1mOOXn&Y3gk+_~R>eEACCDO?*B7#2(iRje?yPWU_S1zgR% zqsfWzHN(n|R8sFU7+rU4qlUT#+rb4m3~RsP1Es}G#0)j5^q2>!Se_WzSVhx9%fTAj z3_U*zy&yUj$=pkHEO?mwihLox7b1*Cd3x(HgQ-PA5<1=C9~brAHx@22Y%F(DEd%du zs(dXY<-Ll<RQg<#1amK%QfLmP5{GFx5%Ft22`JMZMm`V5JeJwINSb;s6NZPw|4`Xy zV2a`5UnDX#Mw<Jl2YgXnuwHhOSD1`2)JJlrxK3kIwqIf@AbI8-lRG7R@e2K2Qe}^# zH1@?ynb~cXD*Gra8P#N8`9YLOH9HV`9!)K5F}VNi+`)Z3paO?nlKoEixFmy~kZAkv zn86t+CE~q+Cy7XKo4TO_sup#hK|eJet=4JgQDj+W`!m=lnpDuCG1~^+beTpc2jB{> z(u%qdZ5p$~hlH+BZ1&DzRTuAJnIB*pA1P&&Xxt@DCx;d^bO_gQorpFFT}7qwjJ2K< x_l<)4Nx@y;?tMe;42_KSJaP4c)x^yu>J~Z9(08y&(ZpTcLziYYk*`vu?<c%j%whll literal 0 HcmV?d00001 diff --git a/Streams/target/classes/com/lokesh/streams/streamsapi/DemoStreams.class b/Streams/target/classes/com/lokesh/streams/streamsapi/DemoStreams.class new file mode 100644 index 0000000000000000000000000000000000000000..bdfd9dbb65f3f36391f989f6b9adefb27fbb33e7 GIT binary patch literal 3904 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 literal 0 HcmV?d00001 diff --git a/Thread-in-java/src/RunableInterface/RunnableDemo.java b/Thread-in-java/src/RunableInterface/RunnableDemo.java new file mode 100644 index 0000000..963dbef --- /dev/null +++ b/Thread-in-java/src/RunableInterface/RunnableDemo.java @@ -0,0 +1,11 @@ +package RunableInterface; + +class Hi implements Runnable { + +} + +public class RunnableDemo { + public static void main(String[] args) { + + } +} diff --git a/Thread-in-java/src/ThreadClass/ThreadDemo.java b/Thread-in-java/src/ThreadClass/ThreadDemo.java new file mode 100644 index 0000000..195d4e4 --- /dev/null +++ b/Thread-in-java/src/ThreadClass/ThreadDemo.java @@ -0,0 +1,39 @@ +package ThreadClass; + +import javax.swing.plaf.TableHeaderUI; + +class A extends Thread{ + public void run() { + for (int i = 0; i < 4; i++) { + System.out.println("hi"); + try { + Thread.sleep(1000); + } catch (Exception e) {} + } + } +} +class B extends Thread{ + public void run() { + for (int i = 0; i < 4; i++ ) { + + System.out.println("hello"); + + try { + Thread.sleep(1000); + } catch (Exception e) {} + } + } +} +public class ThreadDemo { + public static void main(String[] args) { + A obj1 = new A(); + B obj2 = new B(); + +// obj1.show(); + obj1.start(); + try{ + Thread.sleep(10); + } catch (Exception e) {} + obj2.start(); + } +} diff --git a/functional-interface/pom.xml b/functional-interface/pom.xml new file mode 100644 index 0000000..ba24450 --- /dev/null +++ b/functional-interface/pom.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.example</groupId> + <artifactId>functional-interface</artifactId> + <version>1.0-SNAPSHOT</version> + + <properties> + <maven.compiler.source>8</maven.compiler.source> + <maven.compiler.target>8</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> \ No newline at end of file diff --git a/functional-interface/src/main/java/com/lokesh/FI/Main.java b/functional-interface/src/main/java/com/lokesh/FI/Main.java new file mode 100644 index 0000000..0704fc5 --- /dev/null +++ b/functional-interface/src/main/java/com/lokesh/FI/Main.java @@ -0,0 +1,7 @@ +package com.lokesh.FI; + +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/functional-interface/src/main/java/com/lokesh/FI/demo/DemoWithAnonymous.java b/functional-interface/src/main/java/com/lokesh/FI/demo/DemoWithAnonymous.java new file mode 100644 index 0000000..7ad2a1a --- /dev/null +++ b/functional-interface/src/main/java/com/lokesh/FI/demo/DemoWithAnonymous.java @@ -0,0 +1,17 @@ +package com.lokesh.FI.demo; + + +interface C{ + void show(); +} +public class DemoWithAnonymous { + public static void main(String[] args) { + C obj = new C() {//this is syntax we are using till Java 7 + //here we defined an anonymous class + public void show() { + System.out.println("hi from anonymous class"); + } + }; + obj.show(); + } +} diff --git a/functional-interface/src/main/java/com/lokesh/FI/demo/demo.java b/functional-interface/src/main/java/com/lokesh/FI/demo/demo.java new file mode 100644 index 0000000..01c965c --- /dev/null +++ b/functional-interface/src/main/java/com/lokesh/FI/demo/demo.java @@ -0,0 +1,22 @@ +package com.lokesh.FI.demo; + +//lets create an interface +@FunctionalInterface +interface A { + //declare an abstract method + void show(); + // this is a method is already define in the object class. so it will allow this method. + // every class in java extends an object class. + String toString(); +} +class B extends Object implements A{ + public void show() { + System.out.println("hiii lokesh"); + } +} +public class demo { + public static void main(String[] args) { + A obj = new B(); + obj.show(); + } +} diff --git a/functional-interface/target/classes/com/lokesh/FI/Main.class b/functional-interface/target/classes/com/lokesh/FI/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..ba1c359773a2bc82b68f0514f7c64a3225b7c6ff GIT binary patch literal 544 zcmZuuOHaZ;5dM}|X|001d@FcD5B6f>0prDlXi^^uhKr}AZeVfSHKl0$S$fdKgFnC@ zWt<ihB(jH@oo{Bo`DXX)`{NV9A$Bd~P%%+OEsqrot5`FzZeW8UcPs-LoiL=EdtHXi zslF2o1y=^*a_sj+c*A>&kdmuCuDU#war_HrqJbPSR9sK{j?(vHG;rGI&IOl2i@1F9 z47KL1JLHetQ9S57ohXz+zm?45VV}CobJ7e}M~_2Kv}HWpj2RDN5*r5c1~zSMVVl7| z6H4j&lMdBg!@!P>IvOPQzaEC-RK!(pD7<I}>O7Ak;nOqdF(s-K#Zo)hBsU__g8Q^m zIpLUv8H|UxNYSp<=DbzWK$borJ}FQ+@?=el9P*5OcK;phB}rRka|xKn0^RLN0r^FW pOe~>5NZfpskP-HZR4M(2%#^^Q6tU8r+#eDXMJy9e??X0)@(&-kaPR;C literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/A.class b/functional-interface/target/classes/com/lokesh/FI/demo/A.class new file mode 100644 index 0000000000000000000000000000000000000000..87e719aefce1b13110d99a9c06019a829ea96754 GIT binary patch literal 242 zcmYk1KMw&x6vXFooWF@eqtepYMyJwTB9TZ)^lLpVd%MZq9^Xyj1Ncy4kAmh+GH>$B z%=2}B0GOg1qaC9|i1L%W5vrr{meBBS<1=lKg#Ku}Jj<&TM%ttJx-&v+<BCjiq74(8 zdrsY?Oc4g_!g`(ZR_A(Wcy6up(ragP!tjrj6jqhCGz;rFJ4nR=+gC0X#$7l+iDV&4 pu9y>gzXq$_nU${tgi2TdRHD!t5fHS7@CbhVxeYXf)<d!dya9~yJFEZz literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/B.class b/functional-interface/target/classes/com/lokesh/FI/demo/B.class new file mode 100644 index 0000000000000000000000000000000000000000..ea4987bb80f7ea50fd8d603ed126b245c7b6297c GIT binary patch literal 521 zcmZvY%SyvQ6o&ulElnER+M9Q+yVix-2repu3I!pkQ0YERhh}P$kt9`oEL|wL@Bw@% z@k}aJp$wVHIp_bsGjl$_-ah~wVc$RjH63*{if9^WVNJujh7Apy422UBisY0b+vyG& zau;&U87j62`PD2K@#xkW`IM>I(slfy6A2anBy));VuqIO%E0pF9gjV$e`$?*Ag%Kr z(PB?NG8h9ni(K9p3Z$#*;naC>OcbGO*fOz=9fp!8glNwx8g@<Wq0P`(hGwWLfaN>k z#JV0$xtlCkp8Zn}p5lZD^i(+`ebY`ELRvSG2$Mk)aVMZl*O#Ojw0kA;L-KXz#<V%P zL^$bnhiD^Db0#4TJwqS8jUt2oEIJvT`GYsG=d@g+U5NpcmfBMRR#2vh=D#o>6HL|g b7i4PLSLA*HM%t%LohpAI`T|lVTL!D&UM6Vn literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/C.class b/functional-interface/target/classes/com/lokesh/FI/demo/C.class new file mode 100644 index 0000000000000000000000000000000000000000..22b0da7bbefe4639e1d3e286ae9e9dbff8c640e6 GIT binary patch literal 139 zcmX^0Z`VEs1_l!bPId-%b_Nbc2A1NC{BlMHW)00SMh33n{L-T2RJY8WR7M6dm(<++ z@XV47$GrT!%G~_YV!f=yvP4D(k>vbb{ha*l)Zz?%H&6W(pfY`DMg{?ptbR^nUb?=2 gQdVkm2^#|gBLfrAIv~vgw1R;J#A09tl1vP202X5)6aWAK literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnnonymous$1.class b/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnnonymous$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0d2a9f01de931c5b619756858aeab622517c7143 GIT binary patch literal 724 zcma)4O-~d-5PiKL3_A><3k#xrtO~MtU?d^ofFUufBqXblEWv}P-r1IEoar_*vlxDs z9yH;=58y`;-Yg&x_Q0X5x~gBjSJmC;7pG?c*3ob=gsBRq@oX3~E}r9sgINc24(0`h z-fN??ErDWV<v^g+v|S}I-qJ>W>BSwD?8{EXOtobL86C((=kay2l!ZDK@OF$*Ni&jZ zsu-@c0vr30{h`v(-`?@NDz^Sdny)$wKNw@pNo;%R;@T$l($M}AaND+*1ZrF7QqvEy zt4H!!vaL@hh-|9O;b)bFw(DTQLme+Y45Q-Um50|@BtfX_-xC|x<&9Q7$eVMp<lzmL z1(qM#p}><|*^i_-^mjW)D#!#T2NX92mIkCBPQsC6sg1x?<6G;NyPYMRYBPU=JBsa- zG*dC(#`dUNyTWVh?-87_M9G+UIMJuMpB8X_=Aej5wZ<SJyhE8EgFyb00vE54k;|P= zFX+o}|3UojACJ)HU=ZZddRG99Vw@41{$IR7vOew)3f1CYlx_*!zRn1hygMY7Ymy?K WlB$3zCg@9;L=9uyxuh%8v%^a(ho%q! literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnnonymous.class b/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnnonymous.class new file mode 100644 index 0000000000000000000000000000000000000000..f308d85d827a7721445dea83e42a83b8f89573be GIT binary patch literal 622 zcma)3O-sW-6r4>z(#F`<R;}M6C{_i7;7t*vA{2ujDi!gxZI^ayvI|M7__I6}75oAI zDDfo~JlI2XcyDLk&b&$T_5J<{;24`0vZ$I^vS6S(gJrCkST(W6U^kQ!LEYnFC_;wp zsZ=sLV@TEZS`6vB?h1yYE0wq&`fU;1^0r4z+0`BHwRj+7{7a^zz9f%bx1)W>(~lzT zJC_ZoD}3!-P`Q&)|6D1pUVJ?aPsrZqQZX#n9^3(c;*Q5v&uK=1RK1gAJr8<hSeY=U zgt|Q-?WARO^0u0K7<9y?jN?}SuRn}8+Q=bKiKhy@ePm+Y#zw5znM%P>`g^aN_CRzZ zhWQE7I(>_<ub;7n4E?J3F~H(*R4qadbw)k2KLUGA#xqp232DNnvpv3mSriE6QACND zSbRlh2KC|xjQbH%?!g<<41YESq!LMvqy-Yjc8g;P=1?Y-gNX{}$<V+8VT0x-bt_@$ GfZPw<?1xDJ literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnonymous$1.class b/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnonymous$1.class new file mode 100644 index 0000000000000000000000000000000000000000..57b0171d9acfff2e48d9b4e23e5a479264d31f9a GIT binary patch literal 720 zcma)4O-~d-5PiKL3_A`W3k!bYf(wiu7)?k#U`)&^3CXG?YnB72-r0s}nCT`nvlxDs z9yIa55Aa7B-z+E?_P}APx@um%S5@7=e*ZiNunFJA1Qu#o#Jx$}ckuuZ9XxXI*uj#( z#A|JI{zjneKkErp+IFA>W;)uakHe&|($BIVGgI%_P{uu(>LR{OR`N(^0^W`>Ds9Iy z%M?Su6WSz*?Xk+DV0$MRsKf^EX!dj-y*1XHC3cv#UT#q?i|iKxw`+%KsJ3;Xv~UBu zaU@SAn|g1;*k;-seo%R22M(TiXkyvJBx(*;JUm59U@_9ogVZKX`B$nL7Ogp0^{|F@ zfwkN9CvdkA4q|BzgHQb<73Ko-V`|$1tug5vb8y~7YQquz{mvD2H%~d!R<ZtTg59$$ zR|)UM4k_EXz-t@q5}dO{$%G4>8`1oq7I01qP)wzUKTZfQQ01c_kT0afj|*hv@)Xbu z`s(u^5MM{X@6Z-t5aiK%7XVCQh7p_oSNw`(BiuKX>gDgKToJe<o#Lvdu94I(Ny?Zd WRS9*>(N{2!2Bvv(Nmr$3hkpR>v!qr4 literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnonymous.class b/functional-interface/target/classes/com/lokesh/FI/demo/DemoWithAnonymous.class new file mode 100644 index 0000000000000000000000000000000000000000..2f37aa20f7b1ffb9b25c54c73573e4ae26fd7856 GIT binary patch literal 618 zcma)3O-sW-6r4>zQq$O0t@T?Gic|%I;H@G^MJNV6R21>FZI@<ivI|M7__I8T3jP3p zl=u>b9_*nxytgxNXWk_F`hNceaD*)jc`TV&wqRhXh!w1wSTnKCV7HYLVaw-HBqE0V zu~afXVaPOgZy2&I-4_gHS1NHi3c4b^=3Sqdc~|$if5StW;6E}Ody+hM+@1~`Uq6V* zbI#jNUj*7YqjD=_?^J2^9OzNhB=>+z#ZYV9yF>oS9iOX#(}_c=2F-Lk4+rG8Fkwsq zb$3YGNxNF)ZFTf0?1^)kq^<qievmA*QNRr4ohEMm(8Pv~%|uY2M!--RztmNCD0(qN zb%L@*A0qPf6Sk3~-;_KCSQ3q@MaZGfsOR=x!CumFk!n6AP1tm{e=lGbB|<YOqe4s~ zz92J$diev!-77Ng{u{CkW1A8(siZ)n63G&~+OGt2m?u<#i3L>2(7+;LgXSi6D`n__ F!Vgk=g^vIL literal 0 HcmV?d00001 diff --git a/functional-interface/target/classes/com/lokesh/FI/demo/demo.class b/functional-interface/target/classes/com/lokesh/FI/demo/demo.class new file mode 100644 index 0000000000000000000000000000000000000000..5b07dabe7923840109da61f3ef9ed75f2bcc49ce GIT binary patch literal 530 zcmZutO-sW-5Ph3|q)ltTn_9oXTU9U@Zxx{m1u^KMQV>s@G_)I&ETpOaE>A@Te}F$q zoK1yZvWJ<Sc{A_5-JjpjZvYoKGEju6qh~;aS-~#)I`(wzGZZgHB$6wJ+~8!&kiU^L zkD+dh$h%*Kju$_2C!kKtmM#ybJQk|{Z|0MQSTgi&SB6#~U%chQ8sAzoFO+E*5@E<i z#9$7dZJ)n#E8x-Gnk2D^=EGEw$8(}+XTao1IzH`Y(T|ARn8;P^dSjssmX+$c(x^g5 ziJ_BW>RQJ^6^9D$Wx$Gpp|Lgk;P{@KWOI$^am$5#!!Zi<z3OOSN}FPtDvL6sTsU2W zy{E82v6wcSsL;K-8KAsFRT(wZsiT(fh)kng|AO|kM$SI_K%QYsQ$vp6HmP-Jt((%B Vn-w(BB&<YUS~Q_tbg0(Q{R0^NX^{W` literal 0 HcmV?d00001 -- 2.18.1