Commit d682d96a authored by Lokesh Singh's avatar Lokesh Singh

java 8 and 11 features added

parent f312403d
streams-lambda-expressions-java-se-11-developer-certification-1z0-819
out
\ No newline at end of file
<?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
<?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
<?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
<?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
<?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">
......
......@@ -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
<?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
<?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
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
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());
}
}
}
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;
}
}
<?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
package org.comparable;
public class Comparable01 {
public static void main(String[] args) {
}
}
package org.comparable;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
\ No newline at end of file
<?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
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!!");
}
}
}
package org.comparable;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
\ No newline at end of file
package com.lokesh.lambda;
public enum Category {
FOOD,
UTENSILS,
CLEANING,
OFFICE
}
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);
}
}
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);
}
}
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));
}
}
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");
}
}
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);
}
}
}
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);
}
}
}
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));
}
}
# Default ignored files
/shelf/
/workspace.xml
<?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
<?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
<?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
<?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
<?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
<?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
<?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
package com.lokesh.streams;
public class BagStream {
}
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);
}
}
package com.lokesh.streams;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
\ No newline at end of file
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);
}
}
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 + '\'' +
'}';
}
}
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")
);
}
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 +
'}';
}
}
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 +
'}';
}
}
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;
}
}
package com.lokesh.streams.bagstream;
public interface ShippingProviderComponent {
}
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);
// }
// }
// }
// }
}
}
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
}
}
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
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);
}
}
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 +
'}';
}
}
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);
}
}
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);
}
}
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);
}
}
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);
}
}
package com.lokesh.streams.bagstream;
public @interface BeforeEach {
}
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
package RunableInterface;
class Hi implements Runnable {
}
public class RunnableDemo {
public static void main(String[] args) {
}
}
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();
}
}
<?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
package com.lokesh.FI;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
\ No newline at end of file
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();
}
}
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();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment