From aca27f2c7115a8295f2fde9a468162324ee67dc0 Mon Sep 17 00:00:00 2001
From: Pankaj Addi
Date: Wed, 8 May 2024 14:16:09 +0530
Subject: [PATCH] Commiting my Changes to Java Basics
---
core-java/SnakeNLadder/Dice.java | 22 ++++
core-java/SnakeNLadder/GameBoard.java | 66 ++++++++++++
core-java/SnakeNLadder/Jumper.java | 34 +++++++
.../SnakeNLadder/PlaySnakeAndLadder.java | 34 +++++++
core-java/SnakeNLadder/Player.java | 34 +++++++
core-java/SplitWise.zip | Bin 0 -> 6187 bytes
core-java/SplitWise/AddExpenseCommand.java | 14 +++
core-java/SplitWise/EqualExpense.java | 13 +++
core-java/SplitWise/EqualExpenseFactory.java | 9 ++
core-java/SplitWise/EqualSplitStrategy.java | 16 +++
core-java/SplitWise/Expense.java | 18 ++++
core-java/SplitWise/ExpenseCommand.java | 6 ++
core-java/SplitWise/ExpenseFactory.java | 7 ++
core-java/SplitWise/ExpenseObserver.java | 7 ++
core-java/SplitWise/Observer.java | 5 +
core-java/SplitWise/SplitStrategy.java | 8 ++
core-java/SplitWise/SplitWiseApp.java | 22 ++++
core-java/SplitWise/SplitwiseFacade.java | 40 ++++++++
core-java/SplitWise/UnequalExpense.java | 13 +++
.../SplitWise/UnequalExpenseFactory.java | 9 ++
core-java/SplitWise/UnequalSplitStrategy.java | 12 +++
core-java/SplitWise/User.java | 19 ++++
core-java/SplitWise/UserManager.java | 27 +++++
core-java/UnmodfiableCollections.java | 27 +++++
core-java/arrays/ArraysClass.java | 9 +-
core-java/basics/UnderscoreAs_Variable.java | 5 +-
.../CopyOnWriteArraySetExample.java | 2 +-
.../java/streams/Concatenated2Strings.java | 18 ++++
.../java/streams/DuplicateElements.java | 16 +++
.../streams/DuplicateElementswithCount.java | 30 ++++++
.../com/practise/java/streams/EvenNumber.java | 14 +++
.../com/practise/java/streams/FindCount.java | 14 +++
.../java/streams/FindFirstElement.java | 16 +++
.../practise/java/streams/FindMaxElement.java | 21 ++++
.../streams/FindTotalForStreamIntegers.java | 21 ++++
core-java/com/practise/java/streams/Note.java | 4 +
.../java/streams/NumberStartingWithOne.java | 17 ++++
.../practise/java/streams/PECSPrinciple.java | 20 ++++
.../com/practise/java/streams/SortValues.java | 25 +++++
.../java/streams/UppercaseStream.java | 14 +++
.../java/streams/containsDuplicate.java | 27 +++++
.../java/streams/countEachElementWord.java | 17 ++++
.../java/streams/tricky/Interface1.java | 13 +++
.../java/streams/tricky/Interface2.java | 17 ++++
.../tricky/InterfaceImplemenations.java | 15 +++
.../tricky/InterfaceImplementation2.java | 25 +++++
.../tricky/UnmodfiableCollections.java | 31 ++++++
.../SnakesNLadder/Dice.java | 22 ++++
.../SnakesNLadder/GameBoard.java | 66 ++++++++++++
.../SnakesNLadder/Jumper.java | 34 +++++++
.../SnakesNLadder/PlaySnakeAndLadder.java | 34 +++++++
.../SnakesNLadder/Player.java | 34 +++++++
core-java/designPattern/Test | 0
.../abstractfactory/AbstractFactory.java | 6 ++
.../abstractfactory/AbstractFactoryDemo.java | 21 ++++
.../creational/abstractfactory/Bank.java | 5 +
.../abstractfactory/BankFactory.java | 25 +++++
.../abstractfactory/BusinessLoan.java | 9 ++
.../abstractfactory/EducationLoan.java | 9 ++
.../abstractfactory/FactoryCreator.java | 18 ++++
.../creational/abstractfactory/HDFC.java | 14 +++
.../creational/abstractfactory/HomeLoan.java | 9 ++
.../creational/abstractfactory/ICICI.java | 14 +++
.../creational/abstractfactory/Loan.java | 15 +++
.../abstractfactory/LoanFactory.java | 25 +++++
.../creational/abstractfactory/SBI.java | 14 +++
.../builder/BuilderPatternDemo.java | 15 +++
.../creational/builder/Person.java | 69 +++++++++++++
.../creational/builder/PersonPOJO.java | 94 ++++++++++++++++++
.../creational/factory/CommercialPlan.java | 9 ++
.../creational/factory/DomesticPlan.java | 9 ++
.../creational/factory/FactoryDemo.java | 15 +++
.../creational/factory/GetPlanFactory.java | 20 ++++
.../creational/factory/InstitutionalPlan.java | 9 ++
.../creational/factory/Plan.java | 14 +++
.../creational/factory2/Circle.java | 9 ++
.../factory2/FactoryPatternDemo.java | 12 +++
.../creational/factory2/Rectangle.java | 9 ++
.../creational/factory2/Shape.java | 5 +
.../creational/factory2/ShapeFactory.java | 17 ++++
.../creational/factory2/Square.java | 9 ++
.../creational/prototype/Car.java | 22 ++++
.../creational/prototype/Prototype.java | 5 +
.../creational/prototype/PrototypeDemo.java | 14 +++
.../creational/singleton/SingleTonTrial.java | 13 +++
.../creational/singleton/SingletonDemo.java | 9 ++
.../singleton/SingletonObjectEarly.java | 19 ++++
.../singleton/SingletonTrialTest.java | 23 +++++
.../singleton2/SingletonLazyDemo.java | 10 ++
.../singleton2/SingletonObjectLazy.java | 32 ++++++
.../AccessingGrandparentMember.java | 4 +
out/CopilotTest/JavaCoPilotTest.java | 13 +++
out/production/java-basics/BinarySearch.class | Bin 0 -> 1531 bytes
.../DynamicProgramming/CoinChange.class | Bin 0 -> 1728 bytes
.../DynamicProgramming/KnapSack.class | Bin 0 -> 2171 bytes
.../java-basics/DynamicProgramming/Pair.class | Bin 0 -> 382 bytes
.../DynamicProgramming/PrintingLCS.class | Bin 0 -> 2149 bytes
.../DynamicProgramming/editDistance.class | Bin 0 -> 988 bytes
.../editDistanceOptimized.class | Bin 0 -> 1209 bytes
.../eggDroppingPuzzle.class | Bin 0 -> 1621 bytes
.../DynamicProgramming/equalSumSubset.class | Bin 0 -> 1863 bytes
.../findPathExistence.class | Bin 0 -> 1431 bytes
.../getMinimumSquares.class | Bin 0 -> 913 bytes
.../DynamicProgramming/integerPartition.class | Bin 0 -> 1932 bytes
.../DynamicProgramming/knapsack01.class | Bin 0 -> 1104 bytes
.../largestNumberWithKSwaps.class | Bin 0 -> 1167 bytes
.../DynamicProgramming/lcsReeatedKtimes.class | Bin 0 -> 1939 bytes
.../longestPallindromicSubsequence.class | Bin 0 -> 1510 bytes
.../longestValidParanthesis.class | Bin 0 -> 1665 bytes
.../DynamicProgramming/lpsString.class | Bin 0 -> 1938 bytes
.../DynamicProgramming/maxPath.class | Bin 0 -> 1448 bytes
.../maxSumByRemovingOneEle.class | Bin 0 -> 1400 bytes
.../DynamicProgramming/maximumCut.class | Bin 0 -> 1960 bytes
.../DynamicProgramming/minimumCostPath.class | Bin 0 -> 590 bytes
.../DynamicProgramming/n_stairs.class | Bin 0 -> 1125 bytes
.../java-basics/DynamicProgramming/ncr.class | Bin 0 -> 1340 bytes
.../DynamicProgramming/numberOfCoins.class | Bin 0 -> 1184 bytes
.../numberOfUniqueWays.class | Bin 0 -> 832 bytes
.../optimalGameStartegy.class | Bin 0 -> 923 bytes
.../pallindromicPartition.class | Bin 0 -> 1562 bytes
.../playerWithMaxScore.class | Bin 0 -> 1409 bytes
.../DynamicProgramming/stepsByKnight.class | Bin 0 -> 2746 bytes
.../java-basics/SnakeNLadder/Dice.class | Bin 0 -> 644 bytes
.../java-basics/SnakeNLadder/GameBoard.class | Bin 0 -> 4163 bytes
.../java-basics/SnakeNLadder/Jumper.class | Bin 0 -> 1083 bytes
.../SnakeNLadder/PlaySnakeAndLadder.class | Bin 0 -> 2010 bytes
.../java-basics/SnakeNLadder/Player.class | Bin 0 -> 1207 bytes
out/production/java-basics/SplitWise.zip | Bin 0 -> 6187 bytes
.../SplitWise/AddExpenseCommand.class | Bin 0 -> 555 bytes
.../java-basics/SplitWise/EqualExpense.class | Bin 0 -> 925 bytes
.../SplitWise/EqualExpenseFactory.class | Bin 0 -> 749 bytes
.../SplitWise/EqualSplitStrategy.class | Bin 0 -> 1378 bytes
.../java-basics/SplitWise/Expense.class | Bin 0 -> 823 bytes
.../SplitWise/ExpenseCommand.class | Bin 0 -> 143 bytes
.../SplitWise/ExpenseFactory.class | Bin 0 -> 263 bytes
.../SplitWise/ExpenseObserver.class | Bin 0 -> 382 bytes
.../java-basics/SplitWise/Observer.class | Bin 0 -> 130 bytes
.../java-basics/SplitWise/SplitStrategy.class | Bin 0 -> 288 bytes
.../java-basics/SplitWise/SplitWiseApp.class | Bin 0 -> 1020 bytes
.../SplitWise/SplitwiseFacade.class | Bin 0 -> 1969 bytes
.../SplitWise/UnequalExpense.class | Bin 0 -> 933 bytes
.../SplitWise/UnequalExpenseFactory.class | Bin 0 -> 757 bytes
.../SplitWise/UnequalSplitStrategy.class | Bin 0 -> 769 bytes
.../java-basics/SplitWise/User.class | Bin 0 -> 581 bytes
.../java-basics/SplitWise/UserManager.class | Bin 0 -> 1129 bytes
.../java-basics/UnmodfiableCollections.class | Bin 0 -> 1362 bytes
.../arrays/ArrayListSpliterator.class | Bin 0 -> 1847 bytes
.../arrays/ArrayListToArrayConversion.class | Bin 0 -> 1677 bytes
.../java-basics/arrays/ArrayVsArrayList.class | Bin 0 -> 1063 bytes
.../java-basics/arrays/Arrays.class | Bin 0 -> 1261 bytes
.../arrays/ArraysBinarySearch.class | Bin 0 -> 1408 bytes
.../arrays/ArraysBinarySearch2.class | Bin 0 -> 1377 bytes
.../java-basics/arrays/ArraysClass.class | Bin 0 -> 1142 bytes
.../java-basics/arrays/ArraysCloning.class | Bin 0 -> 1259 bytes
.../arrays/ArraysComparision.class | Bin 0 -> 788 bytes
.../arrays/ArraysComparisionDeepEquals.class | Bin 0 -> 969 bytes
.../java-basics/arrays/ArraysCopyOf.class | Bin 0 -> 1233 bytes
.../arrays/ClassObjectsArrays.class | Bin 0 -> 864 bytes
.../java-basics/arrays/JaggedArray.class | Bin 0 -> 1414 bytes
.../java-basics/arrays/MergeArrays.class | Bin 0 -> 1786 bytes
.../arrays/MultidimensionalArray.class | Bin 0 -> 734 bytes
.../java-basics/arrays/ParallelSort.class | Bin 0 -> 1933 bytes
.../arrays/ParallelSortUsingSeries.class | Bin 0 -> 1851 bytes
.../arrays/ReflectionArrayClass.class | Bin 0 -> 1454 bytes
out/production/java-basics/basics/A.class | Bin 0 -> 502 bytes
.../basics/ArrayBlockingQueueAdd.class | Bin 0 -> 1647 bytes
.../basics/ArrayBlockingQueuePut.class | Bin 0 -> 3043 bytes
out/production/java-basics/basics/B.class | Bin 0 -> 492 bytes
.../basics/BinarySearchCollections.class | Bin 0 -> 1655 bytes
.../java-basics/basics/BlankFinal.class | Bin 0 -> 726 bytes
out/production/java-basics/basics/Bound.class | Bin 0 -> 652 bytes
.../java-basics/basics/BoundTest.class | Bin 0 -> 731 bytes
.../basics/BoundedTypesGenerics.class | Bin 0 -> 839 bytes
.../basics/BoundedTypesGenerics02.class | Bin 0 -> 677 bytes
out/production/java-basics/basics/C.class | Bin 0 -> 492 bytes
out/production/java-basics/basics/Color.class | Bin 0 -> 1761 bytes
.../basics/CurryingFunctions.class | Bin 0 -> 2222 bytes
out/production/java-basics/basics/Day.class | Bin 0 -> 1137 bytes
.../java-basics/basics/Employee.class | Bin 0 -> 715 bytes
.../basics/EnumConstructorExample.class | Bin 0 -> 1379 bytes
.../java-basics/basics/EnumDemo01$Color.class | Bin 0 -> 1137 bytes
.../java-basics/basics/EnumDemo01.class | Bin 0 -> 1136 bytes
.../java-basics/basics/EnumDemo02$1.class | Bin 0 -> 621 bytes
.../java-basics/basics/EnumDemo02.class | Bin 0 -> 1173 bytes
.../java-basics/basics/EnumDemo03.class | Bin 0 -> 1304 bytes
.../java-basics/basics/EnumDemo04.class | Bin 0 -> 633 bytes
.../basics/InstanceVariables.class | Bin 0 -> 1216 bytes
.../basics/InstanceofOperator.class | Bin 0 -> 687 bytes
.../java-basics/basics/JVMDemo01.class | Bin 0 -> 1880 bytes
.../java-basics/basics/JVMDemo02.class | Bin 0 -> 643 bytes
out/production/java-basics/basics/Marks.class | Bin 0 -> 290 bytes
.../java-basics/basics/NestedSwitchCase.class | Bin 0 -> 1149 bytes
.../java-basics/basics/NullExample.class | Bin 0 -> 605 bytes
.../basics/NullReferenceVariable.class | Bin 0 -> 1078 bytes
.../java-basics/basics/Number.class | Bin 0 -> 1057 bytes
.../basics/OutOfMemoryException.class | Bin 0 -> 1409 bytes
.../java-basics/basics/SampleClass.class | Bin 0 -> 555 bytes
.../java-basics/basics/SampleInterface.class | Bin 0 -> 154 bytes
.../java-basics/basics/ShutDownHook$1.class | Bin 0 -> 657 bytes
.../java-basics/basics/ShutDownHook.class | Bin 0 -> 795 bytes
.../java-basics/basics/SortSubarray.class | Bin 0 -> 785 bytes
.../basics/SortUsingCollections.class | Bin 0 -> 1468 bytes
.../java-basics/basics/SortingInJava.class | Bin 0 -> 784 bytes
.../basics/StaticVsNonStaticMethods.class | Bin 0 -> 901 bytes
.../java-basics/basics/StrictMathLog.class | Bin 0 -> 1108 bytes
.../StringBufferAppendCodePoint01.class | Bin 0 -> 1296 bytes
.../basics/StringBuilderAppend01.class | Bin 0 -> 1239 bytes
.../java-basics/basics/TrafficSignal.class | Bin 0 -> 1309 bytes
.../basics/TreeSetComparator.class | Bin 0 -> 1603 bytes
.../basics/UnderscoreAs_Variable.class | Bin 0 -> 569 bytes
.../basics/UnderscoreInNumeric.class | Bin 0 -> 1029 bytes
.../java-basics/basics/VariablesScope01.class | Bin 0 -> 1404 bytes
.../java-basics/basics/VariablesScope02.class | Bin 0 -> 575 bytes
.../basics/WideningPrimitiveConversion.class | Bin 0 -> 618 bytes
.../AbstractCollectionExample.class | Bin 0 -> 1705 bytes
.../collections/AbstractListExample.class | Bin 0 -> 1459 bytes
.../collections/AbstractQueueExample.class | Bin 0 -> 1684 bytes
.../collections/AbstractSetExample.class | Bin 0 -> 1587 bytes
.../ArrayBlockingQueueExample.class | Bin 0 -> 1545 bytes
.../collections/ArrayDequeExample.class | Bin 0 -> 2719 bytes
.../collections/ArrayListExample.class | Bin 0 -> 1647 bytes
.../ArrayListSynchronization.class | Bin 0 -> 1792 bytes
.../java-basics/collections/COLORS.class | Bin 0 -> 1176 bytes
.../ConcurrentLinkedDequeExample.class | Bin 0 -> 1822 bytes
.../ConcurrentLinkedQueueExample.class | Bin 0 -> 1834 bytes
.../CopyOnWriteArrayListExample.class | Bin 0 -> 1964 bytes
.../CopyOnWriteArraySetExample.class | Bin 0 -> 1281 bytes
.../collections/DictionaryExample.class | Bin 0 -> 2207 bytes
.../collections/EnumSetExample.class | Bin 0 -> 1821 bytes
.../collections/EnumerationExample.class | Bin 0 -> 1590 bytes
.../collections/HashMapExample.class | Bin 0 -> 1573 bytes
.../collections/HashSetExample.class | Bin 0 -> 1901 bytes
.../collections/HashSetMerge.class | Bin 0 -> 1972 bytes
.../collections/HashtableExample.class | Bin 0 -> 1487 bytes
.../collections/IdentityHashMapExample.class | Bin 0 -> 1736 bytes
.../collections/ImmutableListEample.class | Bin 0 -> 424 bytes
.../IterableToCollectionConversion.class | Bin 0 -> 2359 bytes
.../collections/IteratorExample.class | Bin 0 -> 1650 bytes
.../java-basics/collections/Key.class | Bin 0 -> 1266 bytes
.../LinkedBlockingDequeExample.class | Bin 0 -> 1905 bytes
.../LinkedBlockingQueueExample.class | Bin 0 -> 1467 bytes
.../collections/LinkedHashMapExample.class | Bin 0 -> 2152 bytes
.../collections/LinkedHashSetExample.class | Bin 0 -> 1833 bytes
.../collections/LinkedListExample.class | Bin 0 -> 2300 bytes
.../LinkedTransferQueueExample.class | Bin 0 -> 1903 bytes
.../collections/ListIteratorExample.class | Bin 0 -> 1725 bytes
.../collections/SortedMapExample.class | Bin 0 -> 2209 bytes
.../collections/StackExample.class | Bin 0 -> 2648 bytes
.../collections/WeakHashMapExample.class | Bin 0 -> 1797 bytes
.../java/streams/Concatenated2Strings.class | Bin 0 -> 2553 bytes
.../java/streams/DuplicateElements.class | Bin 0 -> 2340 bytes
.../streams/DuplicateElementswithCount.class | Bin 0 -> 3407 bytes
.../practise/java/streams/EvenNumber.class | Bin 0 -> 2101 bytes
.../com/practise/java/streams/FindCount.class | Bin 0 -> 1027 bytes
.../java/streams/FindFirstElement.class | Bin 0 -> 1828 bytes
.../java/streams/FindMaxElement.class | Bin 0 -> 2165 bytes
.../streams/FindTotalForStreamIntegers.class | Bin 0 -> 2450 bytes
.../com/practise/java/streams/Note.class | Bin 0 -> 289 bytes
.../java/streams/NumberStartingWithOne.class | Bin 0 -> 2697 bytes
.../practise/java/streams/PECSPrinciple.class | Bin 0 -> 946 bytes
.../practise/java/streams/SortValues.class | Bin 0 -> 2093 bytes
.../java/streams/UppercaseStream.class | Bin 0 -> 1785 bytes
.../java/streams/containsDuplicate.class | Bin 0 -> 2013 bytes
.../java/streams/countEachElementWord.class | Bin 0 -> 1492 bytes
.../java/streams/tricky/Interface1.class | Bin 0 -> 544 bytes
.../java/streams/tricky/Interface2.class | Bin 0 -> 613 bytes
.../tricky/InterfaceImplemenations.class | Bin 0 -> 793 bytes
.../tricky/InterfaceImplementation2.class | Bin 0 -> 1080 bytes
.../tricky/UnmodfiableCollections.class | Bin 0 -> 1428 bytes
.../concurrent/ConcurrentSemaphore.class | Bin 0 -> 2691 bytes
.../java-basics/constructors/Complex.class | Bin 0 -> 1225 bytes
.../constructors/CopyConstructor.class | Bin 0 -> 763 bytes
.../constructors/MySingleton.class | Bin 0 -> 556 bytes
.../constructors/PrivateConstructors.class | Bin 0 -> 1264 bytes
.../SnakesNLadder/Dice.class | Bin 0 -> 716 bytes
.../SnakesNLadder/GameBoard.class | Bin 0 -> 4811 bytes
.../SnakesNLadder/Jumper.class | Bin 0 -> 1155 bytes
.../SnakesNLadder/PlaySnakeAndLadder.class | Bin 0 -> 2478 bytes
.../SnakesNLadder/Player.class | Bin 0 -> 1279 bytes
out/production/java-basics/designPattern/Test | 0
.../abstractfactory/AbstractFactory.class | Bin 0 -> 528 bytes
.../abstractfactory/AbstractFactoryDemo.class | Bin 0 -> 1658 bytes
.../creational/abstractfactory/Bank.class | Bin 0 -> 193 bytes
.../abstractfactory/BankFactory.class | Bin 0 -> 1109 bytes
.../abstractfactory/BusinessLoan.class | Bin 0 -> 494 bytes
.../abstractfactory/EducationLoan.class | Bin 0 -> 497 bytes
.../abstractfactory/FactoryCreator.class | Bin 0 -> 872 bytes
.../creational/abstractfactory/HDFC.class | Bin 0 -> 576 bytes
.../creational/abstractfactory/HomeLoan.class | Bin 0 -> 482 bytes
.../creational/abstractfactory/ICICI.class | Bin 0 -> 580 bytes
.../creational/abstractfactory/Loan.class | Bin 0 -> 556 bytes
.../abstractfactory/LoanFactory.class | Bin 0 -> 1151 bytes
.../creational/abstractfactory/SBI.class | Bin 0 -> 572 bytes
.../builder/BuilderPatternDemo.class | Bin 0 -> 1038 bytes
.../creational/builder/Person$Builder.class | Bin 0 -> 1555 bytes
.../creational/builder/Person.class | Bin 0 -> 1597 bytes
.../creational/builder/PersonPOJO.class | Bin 0 -> 2316 bytes
.../creational/factory/CommercialPlan.class | Bin 0 -> 462 bytes
.../creational/factory/DomesticPlan.class | Bin 0 -> 456 bytes
.../creational/factory/FactoryDemo.class | Bin 0 -> 1046 bytes
.../creational/factory/GetPlanFactory.class | Bin 0 -> 804 bytes
.../factory/InstitutionalPlan.class | Bin 0 -> 471 bytes
.../creational/factory/Plan.class | Bin 0 -> 459 bytes
.../creational/prototype/Car.class | Bin 0 -> 1356 bytes
.../creational/prototype/Prototype.class | Bin 0 -> 204 bytes
.../creational/prototype/PrototypeDemo.class | Bin 0 -> 783 bytes
.../creational/singleton/SingleTonTrial.class | Bin 0 -> 547 bytes
.../creational/singleton/SingletonDemo.class | Bin 0 -> 714 bytes
.../singleton/SingletonObjectEarly.class | Bin 0 -> 794 bytes
.../singleton/SingletonTrialTest.class | Bin 0 -> 1600 bytes
.../singleton2/SingletonLazyDemo.class | Bin 0 -> 728 bytes
.../singleton2/SingletonObjectLazy.class | Bin 0 -> 975 bytes
.../exceptionhandling/ChainedExceptions.class | Bin 0 -> 1500 bytes
.../OutOfMemoryErrorException.class | Bin 0 -> 868 bytes
.../exceptionhandling/PrintException.class | Bin 0 -> 778 bytes
.../filehandling/RemoveDuplicates.class | Bin 0 -> 1715 bytes
.../java-basics/inheritance/A.class | Bin 0 -> 367 bytes
.../AccessingGrandparentMember.class | Bin 0 -> 547 bytes
.../java-basics/inheritance/B.class | Bin 0 -> 353 bytes
.../java-basics/inheritance/Base.class | Bin 0 -> 513 bytes
.../java-basics/inheritance/Base01.class | Bin 0 -> 539 bytes
.../java-basics/inheritance/Base02.class | Bin 0 -> 508 bytes
.../java-basics/inheritance/Base03.class | Bin 0 -> 865 bytes
.../java-basics/inheritance/Child.class | Bin 0 -> 530 bytes
.../java-basics/inheritance/Child01.class | Bin 0 -> 508 bytes
.../java-basics/inheritance/Child02.class | Bin 0 -> 801 bytes
.../java-basics/inheritance/Derived.class | Bin 0 -> 522 bytes
.../java-basics/inheritance/Derived01.class | Bin 0 -> 561 bytes
.../java-basics/inheritance/Grandparent.class | Bin 0 -> 530 bytes
.../inheritance/Inheritance01.class | Bin 0 -> 672 bytes
.../inheritance/Inheritance02.class | Bin 0 -> 1098 bytes
.../ObjectSerializationInInheritance.class | Bin 0 -> 2070 bytes
.../OverloadingInInheritance.class | Bin 0 -> 737 bytes
.../OverridePrivateMethods$Inner.class | Bin 0 -> 1238 bytes
.../inheritance/OverridePrivateMethods.class | Bin 0 -> 1128 bytes
.../java-basics/inheritance/Parent.class | Bin 0 -> 581 bytes
.../java-basics/inheritance/Parent01.class | Bin 0 -> 507 bytes
.../ParentChildHavingSameDataMember.class | Bin 0 -> 1310 bytes
.../RestrictiveAccessDerivedClass.class | Bin 0 -> 558 bytes
.../java-basics/input/output/ByteStream.class | Bin 0 -> 1890 bytes
.../input/output/CharacterStream.class | Bin 0 -> 1606 bytes
.../input/output/CommandLineArguments.class | Bin 0 -> 793 bytes
.../input/output/DoubleStreamExample01.class | Bin 0 -> 1881 bytes
.../input/output/DoubleStreamExample02.class | Bin 0 -> 2021 bytes
.../input/output/ScannerClass.class | Bin 0 -> 1815 bytes
.../input/output/ScannerNextChar.class | Bin 0 -> 1278 bytes
.../input/output/ScannerVsBufferReader.class | Bin 0 -> 1601 bytes
.../interfaces/NestedClasses.class | Bin 0 -> 641 bytes
.../interfaces/NestedInterface.class | Bin 0 -> 653 bytes
.../OuterClass$StaticNestedClass.class | Bin 0 -> 1148 bytes
.../java-basics/interfaces/OuterClass.class | Bin 0 -> 568 bytes
.../java-basics/interfaces/Test$nested.class | Bin 0 -> 219 bytes
.../java-basics/interfaces/Test.class | Bin 0 -> 362 bytes
.../java-basics/interfaces/Testing.class | Bin 0 -> 604 bytes
.../gof_creational/factory2/Circle.class | Bin 0 -> 619 bytes
.../factory2/FactoryPatternDemo.class | Bin 0 -> 926 bytes
.../gof_creational/factory2/Rectangle.class | Bin 0 -> 631 bytes
.../gof_creational/factory2/Shape.class | Bin 0 -> 157 bytes
.../factory2/ShapeFactory.class | Bin 0 -> 958 bytes
.../gof_creational/factory2/Square.class | Bin 0 -> 619 bytes
.../keywords/ReferenceFinalVariable.class | Bin 0 -> 803 bytes
.../java-basics/keywords/StaticBlocks.class | Bin 0 -> 1198 bytes
.../java-basics/keywords/StaticMethod.class | Bin 0 -> 634 bytes
.../keywords/StrictfpKeyword.class | Bin 0 -> 727 bytes
.../keywords/TransientKeyword.class | Bin 0 -> 2203 bytes
.../java-basics/methods/DeepCopy.class | Bin 0 -> 1426 bytes
.../java-basics/methods/DeepCopy1.class | Bin 0 -> 295 bytes
.../java-basics/methods/DeepCopy2.class | Bin 0 -> 614 bytes
.../methods/FillInStackTraceMethod.class | Bin 0 -> 1375 bytes
.../java-basics/methods/PassByValue.class | Bin 0 -> 1195 bytes
.../methods/ReturnListObjectClass.class | Bin 0 -> 1195 bytes
.../java-basics/methods/ShallowCopy.class | Bin 0 -> 1447 bytes
.../java-basics/methods/ShallowCopy1.class | Bin 0 -> 304 bytes
.../java-basics/methods/ShallowCopy2.class | Bin 0 -> 591 bytes
out/production/java-basics/methods/Test.class | Bin 0 -> 378 bytes
...oNumbersRepresentedByLinkedList$Node.class | Bin 0 -> 532 bytes
...AddTwoNumbersRepresentedByLinkedList.class | Bin 0 -> 2867 bytes
.../java-basics/misc/ArrayListToArray.class | Bin 0 -> 1380 bytes
.../java-basics/misc/ArraySort.class | Bin 0 -> 822 bytes
.../misc/BinarySearchTreeImpl$BSTNode.class | Bin 0 -> 1139 bytes
.../misc/BinarySearchTreeImpl.class | Bin 0 -> 2503 bytes
.../java-basics/misc/BubbleSort.class | Bin 0 -> 1690 bytes
.../java-basics/misc/BucketSort.class | Bin 0 -> 1500 bytes
.../misc/CheckNumberInString.class | Bin 0 -> 1534 bytes
.../java-basics/misc/CollectionSort.class | Bin 0 -> 1299 bytes
.../misc/ConvertArrayListToStringArray.class | Bin 0 -> 1657 bytes
...rtCollectionToSynchronizedCollection.class | Bin 0 -> 1854 bytes
.../misc/ConvertLowerToUpperCase.class | Bin 0 -> 931 bytes
.../misc/CountCharactersInFile.class | Bin 0 -> 2463 bytes
.../java-basics/misc/CountingSort.class | Bin 0 -> 1635 bytes
.../CreateDeadlockBetweenTwoThreads$1.class | Bin 0 -> 1526 bytes
.../CreateDeadlockBetweenTwoThreads$2.class | Bin 0 -> 1526 bytes
.../CreateDeadlockBetweenTwoThreads.class | Bin 0 -> 1024 bytes
.../misc/FindDuplicateCharacter.class | Bin 0 -> 1215 bytes
.../java-basics/misc/FindMiddleIndex.class | Bin 0 -> 1443 bytes
.../java-basics/misc/Hashcode_Equals.class | Bin 0 -> 1769 bytes
.../java-basics/misc/InsertionSort.class | Bin 0 -> 1419 bytes
out/production/java-basics/misc/LCM_GCD.class | Bin 0 -> 1815 bytes
.../misc/LaunchingExternalApps.class | Bin 0 -> 786 bytes
.../java-basics/misc/LeadersInArray.class | Bin 0 -> 1356 bytes
.../java-basics/misc/LinkListSort.class | Bin 0 -> 1575 bytes
.../java-basics/misc/LinkedList$Node.class | Bin 0 -> 606 bytes
.../java-basics/misc/LinkedList.class | Bin 0 -> 1712 bytes
.../misc/LinkedListCheckCyclic$Node.class | Bin 0 -> 482 bytes
.../misc/LinkedListCheckCyclic.class | Bin 0 -> 1296 bytes
.../misc/LinkedListCheckPalindrome$Node.class | Bin 0 -> 615 bytes
.../misc/LinkedListCheckPalindrome.class | Bin 0 -> 2645 bytes
.../misc/LinkedListFindMiddleNode.class | Bin 0 -> 1492 bytes
.../misc/LinkedListFindNodeFromEnd.class | Bin 0 -> 1849 bytes
.../misc/LongestPalindromeSubstring.class | Bin 0 -> 2048 bytes
.../java-basics/misc/LongestSubstring.class | Bin 0 -> 1950 bytes
.../misc/MaxTwoNumbersInArrays.class | Bin 0 -> 1482 bytes
.../java-basics/misc/MaximalSubarray.class | Bin 0 -> 1464 bytes
.../java-basics/misc/MergeSort.class | Bin 0 -> 1627 bytes
.../java-basics/misc/MissingNumber_01.class | Bin 0 -> 1345 bytes
.../java-basics/misc/MissingNumber_02.class | Bin 0 -> 871 bytes
.../java-basics/misc/MostRepeatedWord.class | Bin 0 -> 2514 bytes
.../java-basics/misc/MoveZerosInArrays.class | Bin 0 -> 1485 bytes
out/production/java-basics/misc/Node.class | Bin 0 -> 365 bytes
out/production/java-basics/misc/PairSum.class | Bin 0 -> 1532 bytes
.../java-basics/misc/PairsWithGivenSum.class | Bin 0 -> 1355 bytes
.../java-basics/misc/Permutation.class | Bin 0 -> 1632 bytes
.../java-basics/misc/PrintAllSubstring.class | Bin 0 -> 972 bytes
.../misc/PrintEvenOddUsingThread.class | Bin 0 -> 735 bytes
out/production/java-basics/misc/Printer.class | Bin 0 -> 1459 bytes
.../ProducerConsumerWaitNotify$Consumer.class | Bin 0 -> 2045 bytes
.../ProducerConsumerWaitNotify$Producer.class | Bin 0 -> 2016 bytes
.../misc/ProducerConsumerWaitNotify.class | Bin 0 -> 1040 bytes
.../java-basics/misc/QuickSort.class | Bin 0 -> 2484 bytes
.../misc/RandomNumberGenerator.class | Bin 0 -> 1429 bytes
.../java-basics/misc/RemoveCharacter.class | Bin 0 -> 1557 bytes
.../misc/RemoveCharactersFromString.class | Bin 0 -> 1239 bytes
.../java-basics/misc/RemoveDuplicate.class | Bin 0 -> 1278 bytes
.../misc/RemoveDuplicateInArraylist.class | Bin 0 -> 1670 bytes
.../misc/ReverseWordInString.class | Bin 0 -> 1703 bytes
.../java-basics/misc/SelectionSort.class | Bin 0 -> 1613 bytes
.../java-basics/misc/SingletonClass.class | Bin 0 -> 1251 bytes
.../java-basics/misc/SingletonClassMain.class | Bin 0 -> 644 bytes
.../misc/SinglyLinkedList$Node.class | Bin 0 -> 629 bytes
.../java-basics/misc/SinglyLinkedList.class | Bin 0 -> 1680 bytes
.../misc/SinglyLinkedListReverse.class | Bin 0 -> 850 bytes
.../java-basics/misc/SortATextFile.class | Bin 0 -> 1824 bytes
.../java-basics/misc/SquarerootOfNumber.class | Bin 0 -> 1222 bytes
.../java-basics/misc/StackSort.class | Bin 0 -> 2118 bytes
.../java-basics/misc/StringReverse.class | Bin 0 -> 1051 bytes
.../java-basics/misc/StringRotation.class | Bin 0 -> 1505 bytes
.../java-basics/misc/StringSwap.class | Bin 0 -> 1376 bytes
.../java-basics/misc/SumOfPrimeNumbers.class | Bin 0 -> 1358 bytes
.../java-basics/misc/TaskEvenOdd.class | Bin 0 -> 759 bytes
.../misc/UserDefinedException.class | Bin 0 -> 985 bytes
.../misc/UserDefinedExceptionMain.class | Bin 0 -> 1196 bytes
.../multithreading/CallableExample.class | Bin 0 -> 2029 bytes
.../CountDownLatchExample.class | Bin 0 -> 1755 bytes
.../multithreading/DaemonThread.class | Bin 0 -> 1532 bytes
.../InterThreadCommunication$1.class | Bin 0 -> 991 bytes
.../InterThreadCommunication$2.class | Bin 0 -> 991 bytes
.../InterThreadCommunication$PC.class | Bin 0 -> 1423 bytes
.../InterThreadCommunication.class | Bin 0 -> 1086 bytes
.../multithreading/JoinExample.class | Bin 0 -> 1725 bytes
.../multithreading/JoinMethod.class | Bin 0 -> 1794 bytes
.../MultithreadingUsingRunnable.class | Bin 0 -> 1564 bytes
.../MultithreadingUsingThread.class | Bin 0 -> 1490 bytes
.../multithreading/RuntimeClass.class | Bin 0 -> 1591 bytes
.../multithreading/SemaphoreMethod.class | Bin 0 -> 2762 bytes
.../java-basics/multithreading/Shared.class | Bin 0 -> 366 bytes
.../multithreading/SleepExample.class | Bin 0 -> 1633 bytes
.../multithreading/StartExample.class | Bin 0 -> 1474 bytes
.../multithreading/ThreadNaming.class | Bin 0 -> 1478 bytes
.../multithreading/ThreadPools.class | Bin 0 -> 2475 bytes
.../multithreading/ThreadPriority.class | Bin 0 -> 1712 bytes
.../java-basics/multithreading/Worker.class | Bin 0 -> 1549 bytes
.../multithreading/YieldExample.class | Bin 0 -> 1396 bytes
.../java-basics/oopsconcepts/A.class | Bin 0 -> 308 bytes
.../oopsconcepts/Aggregation.class | Bin 0 -> 2077 bytes
.../java-basics/oopsconcepts/Apple.class | Bin 0 -> 1296 bytes
.../oopsconcepts/Association.class | Bin 0 -> 1308 bytes
.../java-basics/oopsconcepts/B.class | Bin 0 -> 306 bytes
.../java-basics/oopsconcepts/Bank.class | Bin 0 -> 461 bytes
.../java-basics/oopsconcepts/Base.class | Bin 0 -> 611 bytes
.../java-basics/oopsconcepts/BaseX.class | Bin 0 -> 556 bytes
.../java-basics/oopsconcepts/Book.class | Bin 0 -> 428 bytes
.../java-basics/oopsconcepts/Car.class | Bin 0 -> 1057 bytes
.../java-basics/oopsconcepts/CarWrapper.class | Bin 0 -> 381 bytes
.../java-basics/oopsconcepts/Child.class | Bin 0 -> 519 bytes
.../java-basics/oopsconcepts/Child1.class | Bin 0 -> 576 bytes
.../oopsconcepts/ClassesAndObjects.class | Bin 0 -> 1897 bytes
.../java-basics/oopsconcepts/Comp.class | Bin 0 -> 1025 bytes
.../java-basics/oopsconcepts/Complex.class | Bin 0 -> 678 bytes
.../oopsconcepts/Composition.class | Bin 0 -> 2150 bytes
.../oopsconcepts/CovariantReturnTypes.class | Bin 0 -> 686 bytes
.../CreateObjectsUsingClone.class | Bin 0 -> 1074 bytes
.../CreateObjectsUsingDeserialization.class | Bin 0 -> 1360 bytes
.../oopsconcepts/CreateObjectsUsingNew.class | Bin 0 -> 1145 bytes
.../CreateObjectsUsingNewInstance.class | Bin 0 -> 1343 bytes
.../java-basics/oopsconcepts/Department.class | Bin 0 -> 785 bytes
.../java-basics/oopsconcepts/Derived.class | Bin 0 -> 614 bytes
.../java-basics/oopsconcepts/DerivedY.class | Bin 0 -> 659 bytes
.../DynamicBinding$SubClass.class | Bin 0 -> 682 bytes
.../DynamicBinding$SupperClass.class | Bin 0 -> 648 bytes
.../oopsconcepts/DynamicBinding.class | Bin 0 -> 728 bytes
.../java-basics/oopsconcepts/Employee.class | Bin 0 -> 469 bytes
.../java-basics/oopsconcepts/Finalize.class | Bin 0 -> 770 bytes
.../java-basics/oopsconcepts/Fruit.class | Bin 0 -> 1095 bytes
.../oopsconcepts/InstanceClass.class | Bin 0 -> 1089 bytes
.../oopsconcepts/InstanceVariableHiding.class | Bin 0 -> 558 bytes
.../java-basics/oopsconcepts/Institute.class | Bin 0 -> 1363 bytes
.../oopsconcepts/JavaLangObject.class | Bin 0 -> 818 bytes
.../java-basics/oopsconcepts/Library.class | Bin 0 -> 677 bytes
.../ObjectCreationOfInheritedClass.class | Bin 0 -> 539 bytes
.../oopsconcepts/OuterClass$InnerClass.class | Bin 0 -> 1212 bytes
.../OuterClass$NestedStaticClass.class | Bin 0 -> 1133 bytes
.../java-basics/oopsconcepts/OuterClass.class | Bin 0 -> 583 bytes
.../oopsconcepts/OverloadMain.class | Bin 0 -> 1341 bytes
.../oopsconcepts/OverloadingTest.class | Bin 0 -> 917 bytes
.../oopsconcepts/OverrideStaticMethods.class | Bin 0 -> 591 bytes
.../oopsconcepts/Overriding01.class | Bin 0 -> 536 bytes
.../oopsconcepts/OverridingEquals.class | Bin 0 -> 843 bytes
.../OverridingExceptionHandling.class | Bin 0 -> 584 bytes
.../oopsconcepts/OverridingToString.class | Bin 0 -> 679 bytes
.../java-basics/oopsconcepts/Parent.class | Bin 0 -> 498 bytes
.../java-basics/oopsconcepts/Parent1.class | Bin 0 -> 572 bytes
.../oopsconcepts/ReflectionExample.class | Bin 0 -> 1307 bytes
.../oopsconcepts/RuntimePolymorphism.class | Bin 0 -> 664 bytes
.../oopsconcepts/StaticBinding$SubClass.class | Bin 0 -> 659 bytes
.../StaticBinding$SupperClass.class | Bin 0 -> 627 bytes
.../oopsconcepts/StaticBinding.class | Bin 0 -> 724 bytes
.../oopsconcepts/StaticClass.class | Bin 0 -> 1057 bytes
.../java-basics/oopsconcepts/Student.class | Bin 0 -> 478 bytes
.../SwapObjectsUsingWrapperClass.class | Bin 0 -> 977 bytes
.../java-basics/oopsconcepts/X.class | Bin 0 -> 273 bytes
.../java-basics/oopsconcepts/Y.class | Bin 0 -> 271 bytes
.../oopsconcepts/thisAsMethodParameter.class | Bin 0 -> 1351 bytes
.../thisToInvokeCurrentClassConstructor.class | Bin 0 -> 911 bytes
.../thisToInvokeCurrentClassMethod.class | Bin 0 -> 865 bytes
...ToReferCurrentClassInstanceVariables.class | Bin 0 -> 1309 bytes
.../thisToReturnCurrentClassInstance.class | Bin 0 -> 1379 bytes
.../operators/AdditionAndConcatenation.class | Bin 0 -> 672 bytes
.../operators/AutoboxedIntegerObjects.class | Bin 0 -> 793 bytes
.../strings/CharactersSearch.class | Bin 0 -> 1877 bytes
.../strings/CheckAlphabetsInString.class | Bin 0 -> 1949 bytes
.../java-basics/strings/CompareStrings.class | Bin 0 -> 2023 bytes
.../strings/IntegerToStringConversions.class | Bin 0 -> 2412 bytes
.../java-basics/strings/ListExample01.class | Bin 0 -> 2975 bytes
.../java-basics/strings/ListRemoveIf.class | Bin 0 -> 2920 bytes
.../strings/ListUsingLambdas.class | Bin 0 -> 2886 bytes
.../strings/ListUsingRemoveAll.class | Bin 0 -> 3169 bytes
.../java-basics/strings/ReadTextFile.class | Bin 0 -> 3049 bytes
.../strings/RemoveLeadingZeros.class | Bin 0 -> 1095 bytes
.../java-basics/strings/SplitMethod.class | Bin 0 -> 1002 bytes
.../strings/StringBufferAppendCodePoint.class | Bin 0 -> 1248 bytes
.../strings/StringBufferDeleteCharAt.class | Bin 0 -> 1239 bytes
.../strings/StringBufferMethods.class | Bin 0 -> 2474 bytes
.../StringBuilderAndStringBufferClass.class | Bin 0 -> 2014 bytes
.../StringBuilderAndStringBufferClass02.class | Bin 0 -> 1031 bytes
.../StringBuilderAndStringBufferClass03.class | Bin 0 -> 1198 bytes
.../java-basics/strings/StringCompare.class | Bin 0 -> 1703 bytes
.../strings/StringContainsAlphabets.class | Bin 0 -> 1574 bytes
.../strings/StringContainsAlphabetsRegx.class | Bin 0 -> 1467 bytes
.../strings/StringJoinerClass.class | Bin 0 -> 1993 bytes
.../java-basics/strings/StringMethods.class | Bin 0 -> 2942 bytes
.../strings/StringToLowerCase.class | Bin 0 -> 1451 bytes
.../strings/StringTokenizerClass.class | Bin 0 -> 1209 bytes
.../strings/StringsToIntegerConversions.class | Bin 0 -> 1518 bytes
.../java-basics/strings/SwapTwoStrings.class | Bin 0 -> 1392 bytes
.../java-basics/strings/ToStringMethod.class | Bin 0 -> 1109 bytes
.../wrapperclasses/NumberClass.class | Bin 0 -> 2146 bytes
.../PrimitiveWrapperClasse.class | Bin 0 -> 1394 bytes
567 files changed, 1699 insertions(+), 7 deletions(-)
create mode 100644 core-java/SnakeNLadder/Dice.java
create mode 100644 core-java/SnakeNLadder/GameBoard.java
create mode 100644 core-java/SnakeNLadder/Jumper.java
create mode 100644 core-java/SnakeNLadder/PlaySnakeAndLadder.java
create mode 100644 core-java/SnakeNLadder/Player.java
create mode 100644 core-java/SplitWise.zip
create mode 100644 core-java/SplitWise/AddExpenseCommand.java
create mode 100644 core-java/SplitWise/EqualExpense.java
create mode 100644 core-java/SplitWise/EqualExpenseFactory.java
create mode 100644 core-java/SplitWise/EqualSplitStrategy.java
create mode 100644 core-java/SplitWise/Expense.java
create mode 100644 core-java/SplitWise/ExpenseCommand.java
create mode 100644 core-java/SplitWise/ExpenseFactory.java
create mode 100644 core-java/SplitWise/ExpenseObserver.java
create mode 100644 core-java/SplitWise/Observer.java
create mode 100644 core-java/SplitWise/SplitStrategy.java
create mode 100644 core-java/SplitWise/SplitWiseApp.java
create mode 100644 core-java/SplitWise/SplitwiseFacade.java
create mode 100644 core-java/SplitWise/UnequalExpense.java
create mode 100644 core-java/SplitWise/UnequalExpenseFactory.java
create mode 100644 core-java/SplitWise/UnequalSplitStrategy.java
create mode 100644 core-java/SplitWise/User.java
create mode 100644 core-java/SplitWise/UserManager.java
create mode 100644 core-java/UnmodfiableCollections.java
create mode 100644 core-java/com/practise/java/streams/Concatenated2Strings.java
create mode 100644 core-java/com/practise/java/streams/DuplicateElements.java
create mode 100644 core-java/com/practise/java/streams/DuplicateElementswithCount.java
create mode 100644 core-java/com/practise/java/streams/EvenNumber.java
create mode 100644 core-java/com/practise/java/streams/FindCount.java
create mode 100644 core-java/com/practise/java/streams/FindFirstElement.java
create mode 100644 core-java/com/practise/java/streams/FindMaxElement.java
create mode 100644 core-java/com/practise/java/streams/FindTotalForStreamIntegers.java
create mode 100644 core-java/com/practise/java/streams/Note.java
create mode 100644 core-java/com/practise/java/streams/NumberStartingWithOne.java
create mode 100644 core-java/com/practise/java/streams/PECSPrinciple.java
create mode 100644 core-java/com/practise/java/streams/SortValues.java
create mode 100644 core-java/com/practise/java/streams/UppercaseStream.java
create mode 100644 core-java/com/practise/java/streams/containsDuplicate.java
create mode 100644 core-java/com/practise/java/streams/countEachElementWord.java
create mode 100644 core-java/com/practise/java/streams/tricky/Interface1.java
create mode 100644 core-java/com/practise/java/streams/tricky/Interface2.java
create mode 100644 core-java/com/practise/java/streams/tricky/InterfaceImplemenations.java
create mode 100644 core-java/com/practise/java/streams/tricky/InterfaceImplementation2.java
create mode 100644 core-java/com/practise/java/streams/tricky/UnmodfiableCollections.java
create mode 100644 core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Dice.java
create mode 100644 core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/GameBoard.java
create mode 100644 core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Jumper.java
create mode 100644 core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/PlaySnakeAndLadder.java
create mode 100644 core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Player.java
create mode 100644 core-java/designPattern/Test
create mode 100644 core-java/designPattern/creational/abstractfactory/AbstractFactory.java
create mode 100644 core-java/designPattern/creational/abstractfactory/AbstractFactoryDemo.java
create mode 100644 core-java/designPattern/creational/abstractfactory/Bank.java
create mode 100644 core-java/designPattern/creational/abstractfactory/BankFactory.java
create mode 100644 core-java/designPattern/creational/abstractfactory/BusinessLoan.java
create mode 100644 core-java/designPattern/creational/abstractfactory/EducationLoan.java
create mode 100644 core-java/designPattern/creational/abstractfactory/FactoryCreator.java
create mode 100644 core-java/designPattern/creational/abstractfactory/HDFC.java
create mode 100644 core-java/designPattern/creational/abstractfactory/HomeLoan.java
create mode 100644 core-java/designPattern/creational/abstractfactory/ICICI.java
create mode 100644 core-java/designPattern/creational/abstractfactory/Loan.java
create mode 100644 core-java/designPattern/creational/abstractfactory/LoanFactory.java
create mode 100644 core-java/designPattern/creational/abstractfactory/SBI.java
create mode 100644 core-java/designPattern/creational/builder/BuilderPatternDemo.java
create mode 100644 core-java/designPattern/creational/builder/Person.java
create mode 100644 core-java/designPattern/creational/builder/PersonPOJO.java
create mode 100644 core-java/designPattern/creational/factory/CommercialPlan.java
create mode 100644 core-java/designPattern/creational/factory/DomesticPlan.java
create mode 100644 core-java/designPattern/creational/factory/FactoryDemo.java
create mode 100644 core-java/designPattern/creational/factory/GetPlanFactory.java
create mode 100644 core-java/designPattern/creational/factory/InstitutionalPlan.java
create mode 100644 core-java/designPattern/creational/factory/Plan.java
create mode 100644 core-java/designPattern/creational/factory2/Circle.java
create mode 100644 core-java/designPattern/creational/factory2/FactoryPatternDemo.java
create mode 100644 core-java/designPattern/creational/factory2/Rectangle.java
create mode 100644 core-java/designPattern/creational/factory2/Shape.java
create mode 100644 core-java/designPattern/creational/factory2/ShapeFactory.java
create mode 100644 core-java/designPattern/creational/factory2/Square.java
create mode 100644 core-java/designPattern/creational/prototype/Car.java
create mode 100644 core-java/designPattern/creational/prototype/Prototype.java
create mode 100644 core-java/designPattern/creational/prototype/PrototypeDemo.java
create mode 100644 core-java/designPattern/creational/singleton/SingleTonTrial.java
create mode 100644 core-java/designPattern/creational/singleton/SingletonDemo.java
create mode 100644 core-java/designPattern/creational/singleton/SingletonObjectEarly.java
create mode 100644 core-java/designPattern/creational/singleton/SingletonTrialTest.java
create mode 100644 core-java/designPattern/creational/singleton2/SingletonLazyDemo.java
create mode 100644 core-java/designPattern/creational/singleton2/SingletonObjectLazy.java
create mode 100644 out/CopilotTest/JavaCoPilotTest.java
create mode 100644 out/production/java-basics/BinarySearch.class
create mode 100644 out/production/java-basics/DynamicProgramming/CoinChange.class
create mode 100644 out/production/java-basics/DynamicProgramming/KnapSack.class
create mode 100644 out/production/java-basics/DynamicProgramming/Pair.class
create mode 100644 out/production/java-basics/DynamicProgramming/PrintingLCS.class
create mode 100644 out/production/java-basics/DynamicProgramming/editDistance.class
create mode 100644 out/production/java-basics/DynamicProgramming/editDistanceOptimized.class
create mode 100644 out/production/java-basics/DynamicProgramming/eggDroppingPuzzle.class
create mode 100644 out/production/java-basics/DynamicProgramming/equalSumSubset.class
create mode 100644 out/production/java-basics/DynamicProgramming/findPathExistence.class
create mode 100644 out/production/java-basics/DynamicProgramming/getMinimumSquares.class
create mode 100644 out/production/java-basics/DynamicProgramming/integerPartition.class
create mode 100644 out/production/java-basics/DynamicProgramming/knapsack01.class
create mode 100644 out/production/java-basics/DynamicProgramming/largestNumberWithKSwaps.class
create mode 100644 out/production/java-basics/DynamicProgramming/lcsReeatedKtimes.class
create mode 100644 out/production/java-basics/DynamicProgramming/longestPallindromicSubsequence.class
create mode 100644 out/production/java-basics/DynamicProgramming/longestValidParanthesis.class
create mode 100644 out/production/java-basics/DynamicProgramming/lpsString.class
create mode 100644 out/production/java-basics/DynamicProgramming/maxPath.class
create mode 100644 out/production/java-basics/DynamicProgramming/maxSumByRemovingOneEle.class
create mode 100644 out/production/java-basics/DynamicProgramming/maximumCut.class
create mode 100644 out/production/java-basics/DynamicProgramming/minimumCostPath.class
create mode 100644 out/production/java-basics/DynamicProgramming/n_stairs.class
create mode 100644 out/production/java-basics/DynamicProgramming/ncr.class
create mode 100644 out/production/java-basics/DynamicProgramming/numberOfCoins.class
create mode 100644 out/production/java-basics/DynamicProgramming/numberOfUniqueWays.class
create mode 100644 out/production/java-basics/DynamicProgramming/optimalGameStartegy.class
create mode 100644 out/production/java-basics/DynamicProgramming/pallindromicPartition.class
create mode 100644 out/production/java-basics/DynamicProgramming/playerWithMaxScore.class
create mode 100644 out/production/java-basics/DynamicProgramming/stepsByKnight.class
create mode 100644 out/production/java-basics/SnakeNLadder/Dice.class
create mode 100644 out/production/java-basics/SnakeNLadder/GameBoard.class
create mode 100644 out/production/java-basics/SnakeNLadder/Jumper.class
create mode 100644 out/production/java-basics/SnakeNLadder/PlaySnakeAndLadder.class
create mode 100644 out/production/java-basics/SnakeNLadder/Player.class
create mode 100644 out/production/java-basics/SplitWise.zip
create mode 100644 out/production/java-basics/SplitWise/AddExpenseCommand.class
create mode 100644 out/production/java-basics/SplitWise/EqualExpense.class
create mode 100644 out/production/java-basics/SplitWise/EqualExpenseFactory.class
create mode 100644 out/production/java-basics/SplitWise/EqualSplitStrategy.class
create mode 100644 out/production/java-basics/SplitWise/Expense.class
create mode 100644 out/production/java-basics/SplitWise/ExpenseCommand.class
create mode 100644 out/production/java-basics/SplitWise/ExpenseFactory.class
create mode 100644 out/production/java-basics/SplitWise/ExpenseObserver.class
create mode 100644 out/production/java-basics/SplitWise/Observer.class
create mode 100644 out/production/java-basics/SplitWise/SplitStrategy.class
create mode 100644 out/production/java-basics/SplitWise/SplitWiseApp.class
create mode 100644 out/production/java-basics/SplitWise/SplitwiseFacade.class
create mode 100644 out/production/java-basics/SplitWise/UnequalExpense.class
create mode 100644 out/production/java-basics/SplitWise/UnequalExpenseFactory.class
create mode 100644 out/production/java-basics/SplitWise/UnequalSplitStrategy.class
create mode 100644 out/production/java-basics/SplitWise/User.class
create mode 100644 out/production/java-basics/SplitWise/UserManager.class
create mode 100644 out/production/java-basics/UnmodfiableCollections.class
create mode 100644 out/production/java-basics/arrays/ArrayListSpliterator.class
create mode 100644 out/production/java-basics/arrays/ArrayListToArrayConversion.class
create mode 100644 out/production/java-basics/arrays/ArrayVsArrayList.class
create mode 100644 out/production/java-basics/arrays/Arrays.class
create mode 100644 out/production/java-basics/arrays/ArraysBinarySearch.class
create mode 100644 out/production/java-basics/arrays/ArraysBinarySearch2.class
create mode 100644 out/production/java-basics/arrays/ArraysClass.class
create mode 100644 out/production/java-basics/arrays/ArraysCloning.class
create mode 100644 out/production/java-basics/arrays/ArraysComparision.class
create mode 100644 out/production/java-basics/arrays/ArraysComparisionDeepEquals.class
create mode 100644 out/production/java-basics/arrays/ArraysCopyOf.class
create mode 100644 out/production/java-basics/arrays/ClassObjectsArrays.class
create mode 100644 out/production/java-basics/arrays/JaggedArray.class
create mode 100644 out/production/java-basics/arrays/MergeArrays.class
create mode 100644 out/production/java-basics/arrays/MultidimensionalArray.class
create mode 100644 out/production/java-basics/arrays/ParallelSort.class
create mode 100644 out/production/java-basics/arrays/ParallelSortUsingSeries.class
create mode 100644 out/production/java-basics/arrays/ReflectionArrayClass.class
create mode 100644 out/production/java-basics/basics/A.class
create mode 100644 out/production/java-basics/basics/ArrayBlockingQueueAdd.class
create mode 100644 out/production/java-basics/basics/ArrayBlockingQueuePut.class
create mode 100644 out/production/java-basics/basics/B.class
create mode 100644 out/production/java-basics/basics/BinarySearchCollections.class
create mode 100644 out/production/java-basics/basics/BlankFinal.class
create mode 100644 out/production/java-basics/basics/Bound.class
create mode 100644 out/production/java-basics/basics/BoundTest.class
create mode 100644 out/production/java-basics/basics/BoundedTypesGenerics.class
create mode 100644 out/production/java-basics/basics/BoundedTypesGenerics02.class
create mode 100644 out/production/java-basics/basics/C.class
create mode 100644 out/production/java-basics/basics/Color.class
create mode 100644 out/production/java-basics/basics/CurryingFunctions.class
create mode 100644 out/production/java-basics/basics/Day.class
create mode 100644 out/production/java-basics/basics/Employee.class
create mode 100644 out/production/java-basics/basics/EnumConstructorExample.class
create mode 100644 out/production/java-basics/basics/EnumDemo01$Color.class
create mode 100644 out/production/java-basics/basics/EnumDemo01.class
create mode 100644 out/production/java-basics/basics/EnumDemo02$1.class
create mode 100644 out/production/java-basics/basics/EnumDemo02.class
create mode 100644 out/production/java-basics/basics/EnumDemo03.class
create mode 100644 out/production/java-basics/basics/EnumDemo04.class
create mode 100644 out/production/java-basics/basics/InstanceVariables.class
create mode 100644 out/production/java-basics/basics/InstanceofOperator.class
create mode 100644 out/production/java-basics/basics/JVMDemo01.class
create mode 100644 out/production/java-basics/basics/JVMDemo02.class
create mode 100644 out/production/java-basics/basics/Marks.class
create mode 100644 out/production/java-basics/basics/NestedSwitchCase.class
create mode 100644 out/production/java-basics/basics/NullExample.class
create mode 100644 out/production/java-basics/basics/NullReferenceVariable.class
create mode 100644 out/production/java-basics/basics/Number.class
create mode 100644 out/production/java-basics/basics/OutOfMemoryException.class
create mode 100644 out/production/java-basics/basics/SampleClass.class
create mode 100644 out/production/java-basics/basics/SampleInterface.class
create mode 100644 out/production/java-basics/basics/ShutDownHook$1.class
create mode 100644 out/production/java-basics/basics/ShutDownHook.class
create mode 100644 out/production/java-basics/basics/SortSubarray.class
create mode 100644 out/production/java-basics/basics/SortUsingCollections.class
create mode 100644 out/production/java-basics/basics/SortingInJava.class
create mode 100644 out/production/java-basics/basics/StaticVsNonStaticMethods.class
create mode 100644 out/production/java-basics/basics/StrictMathLog.class
create mode 100644 out/production/java-basics/basics/StringBufferAppendCodePoint01.class
create mode 100644 out/production/java-basics/basics/StringBuilderAppend01.class
create mode 100644 out/production/java-basics/basics/TrafficSignal.class
create mode 100644 out/production/java-basics/basics/TreeSetComparator.class
create mode 100644 out/production/java-basics/basics/UnderscoreAs_Variable.class
create mode 100644 out/production/java-basics/basics/UnderscoreInNumeric.class
create mode 100644 out/production/java-basics/basics/VariablesScope01.class
create mode 100644 out/production/java-basics/basics/VariablesScope02.class
create mode 100644 out/production/java-basics/basics/WideningPrimitiveConversion.class
create mode 100644 out/production/java-basics/collections/AbstractCollectionExample.class
create mode 100644 out/production/java-basics/collections/AbstractListExample.class
create mode 100644 out/production/java-basics/collections/AbstractQueueExample.class
create mode 100644 out/production/java-basics/collections/AbstractSetExample.class
create mode 100644 out/production/java-basics/collections/ArrayBlockingQueueExample.class
create mode 100644 out/production/java-basics/collections/ArrayDequeExample.class
create mode 100644 out/production/java-basics/collections/ArrayListExample.class
create mode 100644 out/production/java-basics/collections/ArrayListSynchronization.class
create mode 100644 out/production/java-basics/collections/COLORS.class
create mode 100644 out/production/java-basics/collections/ConcurrentLinkedDequeExample.class
create mode 100644 out/production/java-basics/collections/ConcurrentLinkedQueueExample.class
create mode 100644 out/production/java-basics/collections/CopyOnWriteArrayListExample.class
create mode 100644 out/production/java-basics/collections/CopyOnWriteArraySetExample.class
create mode 100644 out/production/java-basics/collections/DictionaryExample.class
create mode 100644 out/production/java-basics/collections/EnumSetExample.class
create mode 100644 out/production/java-basics/collections/EnumerationExample.class
create mode 100644 out/production/java-basics/collections/HashMapExample.class
create mode 100644 out/production/java-basics/collections/HashSetExample.class
create mode 100644 out/production/java-basics/collections/HashSetMerge.class
create mode 100644 out/production/java-basics/collections/HashtableExample.class
create mode 100644 out/production/java-basics/collections/IdentityHashMapExample.class
create mode 100644 out/production/java-basics/collections/ImmutableListEample.class
create mode 100644 out/production/java-basics/collections/IterableToCollectionConversion.class
create mode 100644 out/production/java-basics/collections/IteratorExample.class
create mode 100644 out/production/java-basics/collections/Key.class
create mode 100644 out/production/java-basics/collections/LinkedBlockingDequeExample.class
create mode 100644 out/production/java-basics/collections/LinkedBlockingQueueExample.class
create mode 100644 out/production/java-basics/collections/LinkedHashMapExample.class
create mode 100644 out/production/java-basics/collections/LinkedHashSetExample.class
create mode 100644 out/production/java-basics/collections/LinkedListExample.class
create mode 100644 out/production/java-basics/collections/LinkedTransferQueueExample.class
create mode 100644 out/production/java-basics/collections/ListIteratorExample.class
create mode 100644 out/production/java-basics/collections/SortedMapExample.class
create mode 100644 out/production/java-basics/collections/StackExample.class
create mode 100644 out/production/java-basics/collections/WeakHashMapExample.class
create mode 100644 out/production/java-basics/com/practise/java/streams/Concatenated2Strings.class
create mode 100644 out/production/java-basics/com/practise/java/streams/DuplicateElements.class
create mode 100644 out/production/java-basics/com/practise/java/streams/DuplicateElementswithCount.class
create mode 100644 out/production/java-basics/com/practise/java/streams/EvenNumber.class
create mode 100644 out/production/java-basics/com/practise/java/streams/FindCount.class
create mode 100644 out/production/java-basics/com/practise/java/streams/FindFirstElement.class
create mode 100644 out/production/java-basics/com/practise/java/streams/FindMaxElement.class
create mode 100644 out/production/java-basics/com/practise/java/streams/FindTotalForStreamIntegers.class
create mode 100644 out/production/java-basics/com/practise/java/streams/Note.class
create mode 100644 out/production/java-basics/com/practise/java/streams/NumberStartingWithOne.class
create mode 100644 out/production/java-basics/com/practise/java/streams/PECSPrinciple.class
create mode 100644 out/production/java-basics/com/practise/java/streams/SortValues.class
create mode 100644 out/production/java-basics/com/practise/java/streams/UppercaseStream.class
create mode 100644 out/production/java-basics/com/practise/java/streams/containsDuplicate.class
create mode 100644 out/production/java-basics/com/practise/java/streams/countEachElementWord.class
create mode 100644 out/production/java-basics/com/practise/java/streams/tricky/Interface1.class
create mode 100644 out/production/java-basics/com/practise/java/streams/tricky/Interface2.class
create mode 100644 out/production/java-basics/com/practise/java/streams/tricky/InterfaceImplemenations.class
create mode 100644 out/production/java-basics/com/practise/java/streams/tricky/InterfaceImplementation2.class
create mode 100644 out/production/java-basics/com/practise/java/streams/tricky/UnmodfiableCollections.class
create mode 100644 out/production/java-basics/concurrent/ConcurrentSemaphore.class
create mode 100644 out/production/java-basics/constructors/Complex.class
create mode 100644 out/production/java-basics/constructors/CopyConstructor.class
create mode 100644 out/production/java-basics/constructors/MySingleton.class
create mode 100644 out/production/java-basics/constructors/PrivateConstructors.class
create mode 100644 out/production/java-basics/designPattern/LowLevelSystemDesign/SnakesNLadder/Dice.class
create mode 100644 out/production/java-basics/designPattern/LowLevelSystemDesign/SnakesNLadder/GameBoard.class
create mode 100644 out/production/java-basics/designPattern/LowLevelSystemDesign/SnakesNLadder/Jumper.class
create mode 100644 out/production/java-basics/designPattern/LowLevelSystemDesign/SnakesNLadder/PlaySnakeAndLadder.class
create mode 100644 out/production/java-basics/designPattern/LowLevelSystemDesign/SnakesNLadder/Player.class
create mode 100644 out/production/java-basics/designPattern/Test
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/AbstractFactory.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/AbstractFactoryDemo.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/Bank.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/BankFactory.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/BusinessLoan.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/EducationLoan.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/FactoryCreator.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/HDFC.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/HomeLoan.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/ICICI.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/Loan.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/LoanFactory.class
create mode 100644 out/production/java-basics/designPattern/creational/abstractfactory/SBI.class
create mode 100644 out/production/java-basics/designPattern/creational/builder/BuilderPatternDemo.class
create mode 100644 out/production/java-basics/designPattern/creational/builder/Person$Builder.class
create mode 100644 out/production/java-basics/designPattern/creational/builder/Person.class
create mode 100644 out/production/java-basics/designPattern/creational/builder/PersonPOJO.class
create mode 100644 out/production/java-basics/designPattern/creational/factory/CommercialPlan.class
create mode 100644 out/production/java-basics/designPattern/creational/factory/DomesticPlan.class
create mode 100644 out/production/java-basics/designPattern/creational/factory/FactoryDemo.class
create mode 100644 out/production/java-basics/designPattern/creational/factory/GetPlanFactory.class
create mode 100644 out/production/java-basics/designPattern/creational/factory/InstitutionalPlan.class
create mode 100644 out/production/java-basics/designPattern/creational/factory/Plan.class
create mode 100644 out/production/java-basics/designPattern/creational/prototype/Car.class
create mode 100644 out/production/java-basics/designPattern/creational/prototype/Prototype.class
create mode 100644 out/production/java-basics/designPattern/creational/prototype/PrototypeDemo.class
create mode 100644 out/production/java-basics/designPattern/creational/singleton/SingleTonTrial.class
create mode 100644 out/production/java-basics/designPattern/creational/singleton/SingletonDemo.class
create mode 100644 out/production/java-basics/designPattern/creational/singleton/SingletonObjectEarly.class
create mode 100644 out/production/java-basics/designPattern/creational/singleton/SingletonTrialTest.class
create mode 100644 out/production/java-basics/designPattern/creational/singleton2/SingletonLazyDemo.class
create mode 100644 out/production/java-basics/designPattern/creational/singleton2/SingletonObjectLazy.class
create mode 100644 out/production/java-basics/exceptionhandling/ChainedExceptions.class
create mode 100644 out/production/java-basics/exceptionhandling/OutOfMemoryErrorException.class
create mode 100644 out/production/java-basics/exceptionhandling/PrintException.class
create mode 100644 out/production/java-basics/filehandling/RemoveDuplicates.class
create mode 100644 out/production/java-basics/inheritance/A.class
create mode 100644 out/production/java-basics/inheritance/AccessingGrandparentMember.class
create mode 100644 out/production/java-basics/inheritance/B.class
create mode 100644 out/production/java-basics/inheritance/Base.class
create mode 100644 out/production/java-basics/inheritance/Base01.class
create mode 100644 out/production/java-basics/inheritance/Base02.class
create mode 100644 out/production/java-basics/inheritance/Base03.class
create mode 100644 out/production/java-basics/inheritance/Child.class
create mode 100644 out/production/java-basics/inheritance/Child01.class
create mode 100644 out/production/java-basics/inheritance/Child02.class
create mode 100644 out/production/java-basics/inheritance/Derived.class
create mode 100644 out/production/java-basics/inheritance/Derived01.class
create mode 100644 out/production/java-basics/inheritance/Grandparent.class
create mode 100644 out/production/java-basics/inheritance/Inheritance01.class
create mode 100644 out/production/java-basics/inheritance/Inheritance02.class
create mode 100644 out/production/java-basics/inheritance/ObjectSerializationInInheritance.class
create mode 100644 out/production/java-basics/inheritance/OverloadingInInheritance.class
create mode 100644 out/production/java-basics/inheritance/OverridePrivateMethods$Inner.class
create mode 100644 out/production/java-basics/inheritance/OverridePrivateMethods.class
create mode 100644 out/production/java-basics/inheritance/Parent.class
create mode 100644 out/production/java-basics/inheritance/Parent01.class
create mode 100644 out/production/java-basics/inheritance/ParentChildHavingSameDataMember.class
create mode 100644 out/production/java-basics/inheritance/RestrictiveAccessDerivedClass.class
create mode 100644 out/production/java-basics/input/output/ByteStream.class
create mode 100644 out/production/java-basics/input/output/CharacterStream.class
create mode 100644 out/production/java-basics/input/output/CommandLineArguments.class
create mode 100644 out/production/java-basics/input/output/DoubleStreamExample01.class
create mode 100644 out/production/java-basics/input/output/DoubleStreamExample02.class
create mode 100644 out/production/java-basics/input/output/ScannerClass.class
create mode 100644 out/production/java-basics/input/output/ScannerNextChar.class
create mode 100644 out/production/java-basics/input/output/ScannerVsBufferReader.class
create mode 100644 out/production/java-basics/interfaces/NestedClasses.class
create mode 100644 out/production/java-basics/interfaces/NestedInterface.class
create mode 100644 out/production/java-basics/interfaces/OuterClass$StaticNestedClass.class
create mode 100644 out/production/java-basics/interfaces/OuterClass.class
create mode 100644 out/production/java-basics/interfaces/Test$nested.class
create mode 100644 out/production/java-basics/interfaces/Test.class
create mode 100644 out/production/java-basics/interfaces/Testing.class
create mode 100644 out/production/java-basics/java_design_patterns/gof_creational/factory2/Circle.class
create mode 100644 out/production/java-basics/java_design_patterns/gof_creational/factory2/FactoryPatternDemo.class
create mode 100644 out/production/java-basics/java_design_patterns/gof_creational/factory2/Rectangle.class
create mode 100644 out/production/java-basics/java_design_patterns/gof_creational/factory2/Shape.class
create mode 100644 out/production/java-basics/java_design_patterns/gof_creational/factory2/ShapeFactory.class
create mode 100644 out/production/java-basics/java_design_patterns/gof_creational/factory2/Square.class
create mode 100644 out/production/java-basics/keywords/ReferenceFinalVariable.class
create mode 100644 out/production/java-basics/keywords/StaticBlocks.class
create mode 100644 out/production/java-basics/keywords/StaticMethod.class
create mode 100644 out/production/java-basics/keywords/StrictfpKeyword.class
create mode 100644 out/production/java-basics/keywords/TransientKeyword.class
create mode 100644 out/production/java-basics/methods/DeepCopy.class
create mode 100644 out/production/java-basics/methods/DeepCopy1.class
create mode 100644 out/production/java-basics/methods/DeepCopy2.class
create mode 100644 out/production/java-basics/methods/FillInStackTraceMethod.class
create mode 100644 out/production/java-basics/methods/PassByValue.class
create mode 100644 out/production/java-basics/methods/ReturnListObjectClass.class
create mode 100644 out/production/java-basics/methods/ShallowCopy.class
create mode 100644 out/production/java-basics/methods/ShallowCopy1.class
create mode 100644 out/production/java-basics/methods/ShallowCopy2.class
create mode 100644 out/production/java-basics/methods/Test.class
create mode 100644 out/production/java-basics/misc/AddTwoNumbersRepresentedByLinkedList$Node.class
create mode 100644 out/production/java-basics/misc/AddTwoNumbersRepresentedByLinkedList.class
create mode 100644 out/production/java-basics/misc/ArrayListToArray.class
create mode 100644 out/production/java-basics/misc/ArraySort.class
create mode 100644 out/production/java-basics/misc/BinarySearchTreeImpl$BSTNode.class
create mode 100644 out/production/java-basics/misc/BinarySearchTreeImpl.class
create mode 100644 out/production/java-basics/misc/BubbleSort.class
create mode 100644 out/production/java-basics/misc/BucketSort.class
create mode 100644 out/production/java-basics/misc/CheckNumberInString.class
create mode 100644 out/production/java-basics/misc/CollectionSort.class
create mode 100644 out/production/java-basics/misc/ConvertArrayListToStringArray.class
create mode 100644 out/production/java-basics/misc/ConvertCollectionToSynchronizedCollection.class
create mode 100644 out/production/java-basics/misc/ConvertLowerToUpperCase.class
create mode 100644 out/production/java-basics/misc/CountCharactersInFile.class
create mode 100644 out/production/java-basics/misc/CountingSort.class
create mode 100644 out/production/java-basics/misc/CreateDeadlockBetweenTwoThreads$1.class
create mode 100644 out/production/java-basics/misc/CreateDeadlockBetweenTwoThreads$2.class
create mode 100644 out/production/java-basics/misc/CreateDeadlockBetweenTwoThreads.class
create mode 100644 out/production/java-basics/misc/FindDuplicateCharacter.class
create mode 100644 out/production/java-basics/misc/FindMiddleIndex.class
create mode 100644 out/production/java-basics/misc/Hashcode_Equals.class
create mode 100644 out/production/java-basics/misc/InsertionSort.class
create mode 100644 out/production/java-basics/misc/LCM_GCD.class
create mode 100644 out/production/java-basics/misc/LaunchingExternalApps.class
create mode 100644 out/production/java-basics/misc/LeadersInArray.class
create mode 100644 out/production/java-basics/misc/LinkListSort.class
create mode 100644 out/production/java-basics/misc/LinkedList$Node.class
create mode 100644 out/production/java-basics/misc/LinkedList.class
create mode 100644 out/production/java-basics/misc/LinkedListCheckCyclic$Node.class
create mode 100644 out/production/java-basics/misc/LinkedListCheckCyclic.class
create mode 100644 out/production/java-basics/misc/LinkedListCheckPalindrome$Node.class
create mode 100644 out/production/java-basics/misc/LinkedListCheckPalindrome.class
create mode 100644 out/production/java-basics/misc/LinkedListFindMiddleNode.class
create mode 100644 out/production/java-basics/misc/LinkedListFindNodeFromEnd.class
create mode 100644 out/production/java-basics/misc/LongestPalindromeSubstring.class
create mode 100644 out/production/java-basics/misc/LongestSubstring.class
create mode 100644 out/production/java-basics/misc/MaxTwoNumbersInArrays.class
create mode 100644 out/production/java-basics/misc/MaximalSubarray.class
create mode 100644 out/production/java-basics/misc/MergeSort.class
create mode 100644 out/production/java-basics/misc/MissingNumber_01.class
create mode 100644 out/production/java-basics/misc/MissingNumber_02.class
create mode 100644 out/production/java-basics/misc/MostRepeatedWord.class
create mode 100644 out/production/java-basics/misc/MoveZerosInArrays.class
create mode 100644 out/production/java-basics/misc/Node.class
create mode 100644 out/production/java-basics/misc/PairSum.class
create mode 100644 out/production/java-basics/misc/PairsWithGivenSum.class
create mode 100644 out/production/java-basics/misc/Permutation.class
create mode 100644 out/production/java-basics/misc/PrintAllSubstring.class
create mode 100644 out/production/java-basics/misc/PrintEvenOddUsingThread.class
create mode 100644 out/production/java-basics/misc/Printer.class
create mode 100644 out/production/java-basics/misc/ProducerConsumerWaitNotify$Consumer.class
create mode 100644 out/production/java-basics/misc/ProducerConsumerWaitNotify$Producer.class
create mode 100644 out/production/java-basics/misc/ProducerConsumerWaitNotify.class
create mode 100644 out/production/java-basics/misc/QuickSort.class
create mode 100644 out/production/java-basics/misc/RandomNumberGenerator.class
create mode 100644 out/production/java-basics/misc/RemoveCharacter.class
create mode 100644 out/production/java-basics/misc/RemoveCharactersFromString.class
create mode 100644 out/production/java-basics/misc/RemoveDuplicate.class
create mode 100644 out/production/java-basics/misc/RemoveDuplicateInArraylist.class
create mode 100644 out/production/java-basics/misc/ReverseWordInString.class
create mode 100644 out/production/java-basics/misc/SelectionSort.class
create mode 100644 out/production/java-basics/misc/SingletonClass.class
create mode 100644 out/production/java-basics/misc/SingletonClassMain.class
create mode 100644 out/production/java-basics/misc/SinglyLinkedList$Node.class
create mode 100644 out/production/java-basics/misc/SinglyLinkedList.class
create mode 100644 out/production/java-basics/misc/SinglyLinkedListReverse.class
create mode 100644 out/production/java-basics/misc/SortATextFile.class
create mode 100644 out/production/java-basics/misc/SquarerootOfNumber.class
create mode 100644 out/production/java-basics/misc/StackSort.class
create mode 100644 out/production/java-basics/misc/StringReverse.class
create mode 100644 out/production/java-basics/misc/StringRotation.class
create mode 100644 out/production/java-basics/misc/StringSwap.class
create mode 100644 out/production/java-basics/misc/SumOfPrimeNumbers.class
create mode 100644 out/production/java-basics/misc/TaskEvenOdd.class
create mode 100644 out/production/java-basics/misc/UserDefinedException.class
create mode 100644 out/production/java-basics/misc/UserDefinedExceptionMain.class
create mode 100644 out/production/java-basics/multithreading/CallableExample.class
create mode 100644 out/production/java-basics/multithreading/CountDownLatchExample.class
create mode 100644 out/production/java-basics/multithreading/DaemonThread.class
create mode 100644 out/production/java-basics/multithreading/InterThreadCommunication$1.class
create mode 100644 out/production/java-basics/multithreading/InterThreadCommunication$2.class
create mode 100644 out/production/java-basics/multithreading/InterThreadCommunication$PC.class
create mode 100644 out/production/java-basics/multithreading/InterThreadCommunication.class
create mode 100644 out/production/java-basics/multithreading/JoinExample.class
create mode 100644 out/production/java-basics/multithreading/JoinMethod.class
create mode 100644 out/production/java-basics/multithreading/MultithreadingUsingRunnable.class
create mode 100644 out/production/java-basics/multithreading/MultithreadingUsingThread.class
create mode 100644 out/production/java-basics/multithreading/RuntimeClass.class
create mode 100644 out/production/java-basics/multithreading/SemaphoreMethod.class
create mode 100644 out/production/java-basics/multithreading/Shared.class
create mode 100644 out/production/java-basics/multithreading/SleepExample.class
create mode 100644 out/production/java-basics/multithreading/StartExample.class
create mode 100644 out/production/java-basics/multithreading/ThreadNaming.class
create mode 100644 out/production/java-basics/multithreading/ThreadPools.class
create mode 100644 out/production/java-basics/multithreading/ThreadPriority.class
create mode 100644 out/production/java-basics/multithreading/Worker.class
create mode 100644 out/production/java-basics/multithreading/YieldExample.class
create mode 100644 out/production/java-basics/oopsconcepts/A.class
create mode 100644 out/production/java-basics/oopsconcepts/Aggregation.class
create mode 100644 out/production/java-basics/oopsconcepts/Apple.class
create mode 100644 out/production/java-basics/oopsconcepts/Association.class
create mode 100644 out/production/java-basics/oopsconcepts/B.class
create mode 100644 out/production/java-basics/oopsconcepts/Bank.class
create mode 100644 out/production/java-basics/oopsconcepts/Base.class
create mode 100644 out/production/java-basics/oopsconcepts/BaseX.class
create mode 100644 out/production/java-basics/oopsconcepts/Book.class
create mode 100644 out/production/java-basics/oopsconcepts/Car.class
create mode 100644 out/production/java-basics/oopsconcepts/CarWrapper.class
create mode 100644 out/production/java-basics/oopsconcepts/Child.class
create mode 100644 out/production/java-basics/oopsconcepts/Child1.class
create mode 100644 out/production/java-basics/oopsconcepts/ClassesAndObjects.class
create mode 100644 out/production/java-basics/oopsconcepts/Comp.class
create mode 100644 out/production/java-basics/oopsconcepts/Complex.class
create mode 100644 out/production/java-basics/oopsconcepts/Composition.class
create mode 100644 out/production/java-basics/oopsconcepts/CovariantReturnTypes.class
create mode 100644 out/production/java-basics/oopsconcepts/CreateObjectsUsingClone.class
create mode 100644 out/production/java-basics/oopsconcepts/CreateObjectsUsingDeserialization.class
create mode 100644 out/production/java-basics/oopsconcepts/CreateObjectsUsingNew.class
create mode 100644 out/production/java-basics/oopsconcepts/CreateObjectsUsingNewInstance.class
create mode 100644 out/production/java-basics/oopsconcepts/Department.class
create mode 100644 out/production/java-basics/oopsconcepts/Derived.class
create mode 100644 out/production/java-basics/oopsconcepts/DerivedY.class
create mode 100644 out/production/java-basics/oopsconcepts/DynamicBinding$SubClass.class
create mode 100644 out/production/java-basics/oopsconcepts/DynamicBinding$SupperClass.class
create mode 100644 out/production/java-basics/oopsconcepts/DynamicBinding.class
create mode 100644 out/production/java-basics/oopsconcepts/Employee.class
create mode 100644 out/production/java-basics/oopsconcepts/Finalize.class
create mode 100644 out/production/java-basics/oopsconcepts/Fruit.class
create mode 100644 out/production/java-basics/oopsconcepts/InstanceClass.class
create mode 100644 out/production/java-basics/oopsconcepts/InstanceVariableHiding.class
create mode 100644 out/production/java-basics/oopsconcepts/Institute.class
create mode 100644 out/production/java-basics/oopsconcepts/JavaLangObject.class
create mode 100644 out/production/java-basics/oopsconcepts/Library.class
create mode 100644 out/production/java-basics/oopsconcepts/ObjectCreationOfInheritedClass.class
create mode 100644 out/production/java-basics/oopsconcepts/OuterClass$InnerClass.class
create mode 100644 out/production/java-basics/oopsconcepts/OuterClass$NestedStaticClass.class
create mode 100644 out/production/java-basics/oopsconcepts/OuterClass.class
create mode 100644 out/production/java-basics/oopsconcepts/OverloadMain.class
create mode 100644 out/production/java-basics/oopsconcepts/OverloadingTest.class
create mode 100644 out/production/java-basics/oopsconcepts/OverrideStaticMethods.class
create mode 100644 out/production/java-basics/oopsconcepts/Overriding01.class
create mode 100644 out/production/java-basics/oopsconcepts/OverridingEquals.class
create mode 100644 out/production/java-basics/oopsconcepts/OverridingExceptionHandling.class
create mode 100644 out/production/java-basics/oopsconcepts/OverridingToString.class
create mode 100644 out/production/java-basics/oopsconcepts/Parent.class
create mode 100644 out/production/java-basics/oopsconcepts/Parent1.class
create mode 100644 out/production/java-basics/oopsconcepts/ReflectionExample.class
create mode 100644 out/production/java-basics/oopsconcepts/RuntimePolymorphism.class
create mode 100644 out/production/java-basics/oopsconcepts/StaticBinding$SubClass.class
create mode 100644 out/production/java-basics/oopsconcepts/StaticBinding$SupperClass.class
create mode 100644 out/production/java-basics/oopsconcepts/StaticBinding.class
create mode 100644 out/production/java-basics/oopsconcepts/StaticClass.class
create mode 100644 out/production/java-basics/oopsconcepts/Student.class
create mode 100644 out/production/java-basics/oopsconcepts/SwapObjectsUsingWrapperClass.class
create mode 100644 out/production/java-basics/oopsconcepts/X.class
create mode 100644 out/production/java-basics/oopsconcepts/Y.class
create mode 100644 out/production/java-basics/oopsconcepts/thisAsMethodParameter.class
create mode 100644 out/production/java-basics/oopsconcepts/thisToInvokeCurrentClassConstructor.class
create mode 100644 out/production/java-basics/oopsconcepts/thisToInvokeCurrentClassMethod.class
create mode 100644 out/production/java-basics/oopsconcepts/thisToReferCurrentClassInstanceVariables.class
create mode 100644 out/production/java-basics/oopsconcepts/thisToReturnCurrentClassInstance.class
create mode 100644 out/production/java-basics/operators/AdditionAndConcatenation.class
create mode 100644 out/production/java-basics/operators/AutoboxedIntegerObjects.class
create mode 100644 out/production/java-basics/strings/CharactersSearch.class
create mode 100644 out/production/java-basics/strings/CheckAlphabetsInString.class
create mode 100644 out/production/java-basics/strings/CompareStrings.class
create mode 100644 out/production/java-basics/strings/IntegerToStringConversions.class
create mode 100644 out/production/java-basics/strings/ListExample01.class
create mode 100644 out/production/java-basics/strings/ListRemoveIf.class
create mode 100644 out/production/java-basics/strings/ListUsingLambdas.class
create mode 100644 out/production/java-basics/strings/ListUsingRemoveAll.class
create mode 100644 out/production/java-basics/strings/ReadTextFile.class
create mode 100644 out/production/java-basics/strings/RemoveLeadingZeros.class
create mode 100644 out/production/java-basics/strings/SplitMethod.class
create mode 100644 out/production/java-basics/strings/StringBufferAppendCodePoint.class
create mode 100644 out/production/java-basics/strings/StringBufferDeleteCharAt.class
create mode 100644 out/production/java-basics/strings/StringBufferMethods.class
create mode 100644 out/production/java-basics/strings/StringBuilderAndStringBufferClass.class
create mode 100644 out/production/java-basics/strings/StringBuilderAndStringBufferClass02.class
create mode 100644 out/production/java-basics/strings/StringBuilderAndStringBufferClass03.class
create mode 100644 out/production/java-basics/strings/StringCompare.class
create mode 100644 out/production/java-basics/strings/StringContainsAlphabets.class
create mode 100644 out/production/java-basics/strings/StringContainsAlphabetsRegx.class
create mode 100644 out/production/java-basics/strings/StringJoinerClass.class
create mode 100644 out/production/java-basics/strings/StringMethods.class
create mode 100644 out/production/java-basics/strings/StringToLowerCase.class
create mode 100644 out/production/java-basics/strings/StringTokenizerClass.class
create mode 100644 out/production/java-basics/strings/StringsToIntegerConversions.class
create mode 100644 out/production/java-basics/strings/SwapTwoStrings.class
create mode 100644 out/production/java-basics/strings/ToStringMethod.class
create mode 100644 out/production/java-basics/wrapperclasses/NumberClass.class
create mode 100644 out/production/java-basics/wrapperclasses/PrimitiveWrapperClasse.class
diff --git a/core-java/SnakeNLadder/Dice.java b/core-java/SnakeNLadder/Dice.java
new file mode 100644
index 0000000..7acf239
--- /dev/null
+++ b/core-java/SnakeNLadder/Dice.java
@@ -0,0 +1,22 @@
+package SnakeNLadder;
+
+public class Dice {
+
+ public int getNumberOfDice() {
+ return numberOfDice;
+ }
+
+ public void setNumberOfDice(int numberOfDice) {
+ this.numberOfDice = numberOfDice;
+ }
+
+ private int numberOfDice;
+
+ public Dice(int numberOfDice) {
+ this.numberOfDice = numberOfDice;
+ }
+ int rollDice(){
+ return ((int) (Math.random()*(6*numberOfDice - 1*numberOfDice))) + 1;
+ }
+
+}
diff --git a/core-java/SnakeNLadder/GameBoard.java b/core-java/SnakeNLadder/GameBoard.java
new file mode 100644
index 0000000..90f8a90
--- /dev/null
+++ b/core-java/SnakeNLadder/GameBoard.java
@@ -0,0 +1,66 @@
+package SnakeNLadder;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+
+class GameBoard {
+ private Dice dice;
+ private Queue nextTurn;
+ private List snakes;
+ private List ladders;
+ private Map playersCurrentPosition;
+ int boardSize;
+
+ GameBoard(Dice dice, Queue nextTurn, List snakes, List ladders, Map playersCurrentPosition, int boardSize) {
+ this.dice = dice;
+ this.nextTurn = nextTurn;
+ this.snakes = snakes;
+ this.ladders = ladders;
+ this.playersCurrentPosition = playersCurrentPosition;
+ this.boardSize = boardSize;
+ }
+
+ void startGame(){
+ while(nextTurn.size()>1) {
+ Player player = nextTurn.poll();
+ int currentPosition = playersCurrentPosition.get(player.getPlayerName());
+
+ int diceValue = dice.rollDice();
+ int nextCell = currentPosition + diceValue;
+
+ if (nextCell > boardSize) nextTurn.offer(player); //
+ else if (nextCell == boardSize) {
+ System.out.println(player.getPlayerName() + " won the game");
+ }
+ else {
+ int[] nextPosition = new int[1];
+ boolean[] b = new boolean[1];
+ nextPosition[0] = nextCell;
+ snakes.forEach(v -> {
+ if (v.startPoint == nextCell) {
+ nextPosition[0] = v.endPoint;
+ }
+ });
+ if (nextPosition[0] != nextCell)
+ System.out.println(player.getPlayerName() + " Bitten by Snake present at: " + nextCell);
+ ladders.forEach(v -> {
+ if (v.startPoint == nextCell) {
+ nextPosition[0] = v.endPoint;
+ b[0] = true;
+ }
+ });
+ if (nextPosition[0] != nextCell && b[0])
+ System.out.println(player.getPlayerName() + " Got ladder present at: " + nextCell);
+ if (nextPosition[0] == boardSize) {
+ System.out.println(player.getPlayerName() + " won the game");
+ }
+ else {
+ playersCurrentPosition.put(player.getPlayerName(), nextPosition[0]);
+ System.out.println(player.getPlayerName() + " is at position " + nextPosition[0]);
+ nextTurn.offer(player);
+ }
+ }
+ }
+ }
+}
diff --git a/core-java/SnakeNLadder/Jumper.java b/core-java/SnakeNLadder/Jumper.java
new file mode 100644
index 0000000..8e78e2f
--- /dev/null
+++ b/core-java/SnakeNLadder/Jumper.java
@@ -0,0 +1,34 @@
+package SnakeNLadder;
+
+import java.util.Objects;
+
+public class Jumper {
+ int startPoint;
+ int endPoint;
+
+ public Jumper(int startPoint, int endPoint) {
+ this.startPoint = startPoint;
+ this.endPoint = endPoint;
+ }
+
+ public int getStartPoint() {
+ return startPoint;
+ }
+
+ public void setStartPoint(int startPoint) {
+ this.startPoint = startPoint;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Jumper jumper = (Jumper) o;
+ return startPoint == jumper.startPoint && endPoint == jumper.endPoint;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(startPoint, endPoint);
+ }
+}
diff --git a/core-java/SnakeNLadder/PlaySnakeAndLadder.java b/core-java/SnakeNLadder/PlaySnakeAndLadder.java
new file mode 100644
index 0000000..f73df54
--- /dev/null
+++ b/core-java/SnakeNLadder/PlaySnakeAndLadder.java
@@ -0,0 +1,34 @@
+package SnakeNLadder;
+
+import java.util.*;
+
+public class PlaySnakeAndLadder {
+ public static void main(String[] args) {
+ Dice dice = new Dice(1);
+ Player p1 = new Player("Alberts",1);
+ Player p2 = new Player("Pintoss",2);
+ Queue allPlayers = new LinkedList<>();
+ allPlayers.offer(p1);
+ allPlayers.offer(p2);
+
+ Jumper snake1 = new Jumper(10,2);
+ Jumper snake2 = new Jumper(99,12);
+
+ List snakes = new ArrayList<>();
+ snakes.add(snake1);
+ snakes.add(snake2);
+
+ Jumper ladder1 = new Jumper(5,25);
+ Jumper ladder2 = new Jumper(40,89);
+
+
+ List ladders = new ArrayList<>();
+ ladders.add(ladder1);
+ ladders.add(ladder2);
+ Map playersCurrentPosition = new HashMap<>();
+ playersCurrentPosition.put("Alberts",0);
+ playersCurrentPosition.put("Pintoss",0);
+ GameBoard gb=new GameBoard(dice,allPlayers,snakes,ladders,playersCurrentPosition,100);
+ gb.startGame();
+ }
+}
diff --git a/core-java/SnakeNLadder/Player.java b/core-java/SnakeNLadder/Player.java
new file mode 100644
index 0000000..829175c
--- /dev/null
+++ b/core-java/SnakeNLadder/Player.java
@@ -0,0 +1,34 @@
+package SnakeNLadder;
+
+import java.util.Objects;
+
+class Player {
+ private String playerName;
+ private int id;
+
+ Player(String playerName, int id) {
+ this.playerName = playerName;
+ this.id = id;
+ }
+
+ public String getPlayerName() {
+ return playerName;
+ }
+
+ public void setPlayerName(String playerName) {
+ this.playerName = playerName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Player player = (Player) o;
+ return id == player.id && Objects.equals(playerName, player.playerName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(playerName, id);
+ }
+}
\ No newline at end of file
diff --git a/core-java/SplitWise.zip b/core-java/SplitWise.zip
new file mode 100644
index 0000000000000000000000000000000000000000..042ccde8b244facfc295641f8f3408a62caade9e
GIT binary patch
literal 6187
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%0Db!M
z`-xjR-Nutk9p?{;q>I9z=u(tqj$F4Uf@Xw2)jP&_yuX-(h+3Sz+V+xO!XSNDPxzU5
zy6m`6otDs>5)JM}d4y$!Yc$IqZ8b(bq&;3iMIHK^E`%E`#9k6n)>b;_b0mtbdq=kE
zL;dZX?-gbRrJ19A_!>Pk*|g}G?w1SkjnyHBKNt--Y1zSYd081(rfec^``FT
zchrb4`kozUyRqq)er);HlN3sG5))CGH%~`JG_INrs|nGUKJ@L(W}UC-43XA*YkGyU
zE=yXdKDJ7RqN(BeDs;l&Mw+C@IJt-KXJvFdM#{X{%ZxX1e!$qfA5;|I0~QUI-2P81
zaB43C3%B=*Fm<#4KV>5!=RswoWou$LZ_3RxDqd}hs_f8(^zZ^~*+{J<#P%^7TQ=TO
zZ^D+1teP2NKHfAlVd!P;3c9(EQvI0nM4$9tnntHUd47X?P8p6lS$dPlm0y!RAt8?K
zx=tjQR&BPKnx|65d>hip;DK6r_~5Tv4U%F`SXeR=+^X|!9d$ogaD64o~$~JMTo#W3Y
z@bu^7)2kQ(cS(g#7T(d?THPNiTPr^E)US0!r>6W<(6b=|Ay$>pD|$mt`A2+PHG`$b
zEBo5yyk8B$$jtUOYdUYo&as@igmS({CA~?Te2Kkn_*vA4v@htaLd{#!pZ2qkevl
zl8;u*$?SH&-t0h*RZY}1{UHrxJE6`G7r{jaxF>3IPRYNN#WZefw(wD{&>G?Hp+o>0
z2bkKqNdbL>z&L)8#siXcVyhldJzif)+oW!(f}3s-sHf1zGGrA*-OmVka$Fa-D9+!}
zl!Ag;k|3y`bAJE6CXexN55B+(U7)1&_BJ(BILvt@{%f$SQQZs2QIfOFpdE
z(Ox=BS?ugsrpc+Q%_Cj*e$e06mHTn(R@Y3T{1ujmDajf4^|d7YxEpyi1{v99Ow5OSWGU%wkk>kuYqm|3!t`Cm~r$-0OF?)#F1fd9Dxd8C!-yFt!nqdp`r*f
z5k1^>8gjR%x`Q6`Ao*@jGb-E&lj<0K64BV)aW3-2g~q|WtRA~cLl(gR@5HoAZDoYP
z$+0~)ijh1dXH7CE2f1`9>cmS`+G?GoVY>SIBIG2Qm|z=C!;5fdLynTE2HjO6%TQD0
zk{>F>Apeno|H^C?NrZs!aNvex!Si1i>4tRtEyFue)vcWi=#A0?BP^zcJgF!77Xs*t
zlTE!9pA6;mF}F^N3Qasj-&@{aUySBn~*JU@la
zRvl-R^dVOcp()gvs(%v~ZJN;_Lmolo^bw*zr*wDqX~{{4mVm9y+hM0P}MY_g1
z$6>eNm7)~a{E<&93=>~&UR!F+BhD)Cakw1>93a9&oCJS*zJN^>*ca_D11bqA2)K5>
zBP3uZKx7K?sKksClAZG1v1b=dlsC|$zvuqbGYQ<>*m(qj@o(`VcJLDlFtJEO)kYa0
z;;cNm*g5RyUuu34@t+caiDba`*d^jUGXTTfCm&K_C&$?}=8#89`(XH;IT%I=?8Ad$
z;A{(Kt}YY`V3{}z@f+0I&&2PR!OSUqCVutaxaKPOi7{`2#$ru|+oJ~-a)!V;S@LM-9F8d(d
zpBB!8N-7jPJU-_hvk`{CH**fg!;g_pmo+2ff
zx3_@Xxt_te@$#)=?DRNmDXVaIKMub_1mk3>{*3$6LD(Ke$Y3crd*WT9!TuG*ui3y<
zcE|zL|K2uVP^B7JD9%D?85H+R#V>HcP`Un~+JO%M>!1Aq0vxjMgdL;nxB_X&ak
literal 0
HcmV?d00001
diff --git a/core-java/SplitWise/AddExpenseCommand.java b/core-java/SplitWise/AddExpenseCommand.java
new file mode 100644
index 0000000..6bb6170
--- /dev/null
+++ b/core-java/SplitWise/AddExpenseCommand.java
@@ -0,0 +1,14 @@
+
+
+class AddExpenseCommand implements ExpenseCommand {
+ private Expense expense;
+
+ public AddExpenseCommand(Expense expense) {
+ this.expense = expense;
+ }
+
+ public void execute() {
+ // Execute add expense logic...
+ expense.calculateShares();
+ }
+}
diff --git a/core-java/SplitWise/EqualExpense.java b/core-java/SplitWise/EqualExpense.java
new file mode 100644
index 0000000..558927d
--- /dev/null
+++ b/core-java/SplitWise/EqualExpense.java
@@ -0,0 +1,13 @@
+package SplitWise;
+
+import java.util.List;
+
+class EqualExpense extends Expense {
+ public EqualExpense(double totalAmount, List participants) {
+ super(totalAmount, participants, new EqualSplitStrategy());
+ }
+
+ public void calculateShares() {
+ shares = splitStrategy.splitExpense(totalAmount, participants);
+ }
+}
diff --git a/core-java/SplitWise/EqualExpenseFactory.java b/core-java/SplitWise/EqualExpenseFactory.java
new file mode 100644
index 0000000..8de3fe6
--- /dev/null
+++ b/core-java/SplitWise/EqualExpenseFactory.java
@@ -0,0 +1,9 @@
+package SplitWise;
+
+import java.util.List;
+
+class EqualExpenseFactory implements ExpenseFactory {
+ public Expense createExpense(double totalAmount, List participants) {
+ return new EqualExpense(totalAmount, participants);
+ }
+}
\ No newline at end of file
diff --git a/core-java/SplitWise/EqualSplitStrategy.java b/core-java/SplitWise/EqualSplitStrategy.java
new file mode 100644
index 0000000..c2fdaf6
--- /dev/null
+++ b/core-java/SplitWise/EqualSplitStrategy.java
@@ -0,0 +1,16 @@
+package SplitWise;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+class EqualSplitStrategy implements SplitStrategy {
+ public Map splitExpense(double totalAmount, List participants) {
+ Map shares = new HashMap<>();
+ double share = totalAmount / participants.size();
+ for (User participant : participants) {
+ shares.put(participant, share);
+ }
+ return shares;
+ }
+}
diff --git a/core-java/SplitWise/Expense.java b/core-java/SplitWise/Expense.java
new file mode 100644
index 0000000..4769730
--- /dev/null
+++ b/core-java/SplitWise/Expense.java
@@ -0,0 +1,18 @@
+package SplitWise;
+import java.util.*;
+
+
+abstract class Expense {
+ protected double totalAmount;
+ protected List participants;
+ protected Map shares;
+ protected SplitStrategy splitStrategy;
+
+ public Expense(double totalAmount, List participants, SplitStrategy splitStrategy) {
+ this.totalAmount = totalAmount;
+ this.participants = participants;
+ this.splitStrategy = splitStrategy;
+ }
+
+ public abstract void calculateShares();
+}
diff --git a/core-java/SplitWise/ExpenseCommand.java b/core-java/SplitWise/ExpenseCommand.java
new file mode 100644
index 0000000..2ed4c06
--- /dev/null
+++ b/core-java/SplitWise/ExpenseCommand.java
@@ -0,0 +1,6 @@
+package SplitWise;
+
+interface ExpenseCommand {
+ void execute();
+}
+
diff --git a/core-java/SplitWise/ExpenseFactory.java b/core-java/SplitWise/ExpenseFactory.java
new file mode 100644
index 0000000..c04ee98
--- /dev/null
+++ b/core-java/SplitWise/ExpenseFactory.java
@@ -0,0 +1,7 @@
+package SplitWise;
+
+import java.util.List;
+
+public interface ExpenseFactory {
+ Expense createExpense(double totalAmount, List participants);
+}
diff --git a/core-java/SplitWise/ExpenseObserver.java b/core-java/SplitWise/ExpenseObserver.java
new file mode 100644
index 0000000..3ba7d00
--- /dev/null
+++ b/core-java/SplitWise/ExpenseObserver.java
@@ -0,0 +1,7 @@
+package SplitWise;
+
+class ExpenseObserver implements Observer {
+ public void update() {
+ // Update logic for expenses...
+ }
+}
diff --git a/core-java/SplitWise/Observer.java b/core-java/SplitWise/Observer.java
new file mode 100644
index 0000000..e15933a
--- /dev/null
+++ b/core-java/SplitWise/Observer.java
@@ -0,0 +1,5 @@
+package SplitWise;
+
+interface Observer {
+ void update();
+}
\ No newline at end of file
diff --git a/core-java/SplitWise/SplitStrategy.java b/core-java/SplitWise/SplitStrategy.java
new file mode 100644
index 0000000..2e37e55
--- /dev/null
+++ b/core-java/SplitWise/SplitStrategy.java
@@ -0,0 +1,8 @@
+package SplitWise;
+
+import java.util.List;
+import java.util.Map;
+
+interface SplitStrategy {
+ Map splitExpense(double totalAmount, List participants);
+}
diff --git a/core-java/SplitWise/SplitWiseApp.java b/core-java/SplitWise/SplitWiseApp.java
new file mode 100644
index 0000000..44f9e8e
--- /dev/null
+++ b/core-java/SplitWise/SplitWiseApp.java
@@ -0,0 +1,22 @@
+package SplitWise;
+
+import java.util.Arrays;
+
+// Main Class
+public class SplitWiseApp {
+ public static void main(String[] args) {
+ SplitwiseFacade splitwise = new SplitwiseFacade();
+
+ User user1 = new User("1", "Alice");
+ User user2 = new User("2", "Bob");
+
+ splitwise.addUser(user1);
+ splitwise.addUser(user2);
+
+ splitwise.addObserver(new ExpenseObserver());
+
+ splitwise.addEqualExpense(100.0, Arrays.asList(user1, user2));
+
+ // Additional operations...
+ }
+}
diff --git a/core-java/SplitWise/SplitwiseFacade.java b/core-java/SplitWise/SplitwiseFacade.java
new file mode 100644
index 0000000..9c291df
--- /dev/null
+++ b/core-java/SplitWise/SplitwiseFacade.java
@@ -0,0 +1,40 @@
+package SplitWise;
+
+import java.util.*;
+
+// Facade Pattern
+class SplitwiseFacade {
+ private UserManager userManager;
+ private List expenses;
+ private List observers;
+
+ public SplitwiseFacade() {
+ userManager = UserManager.getInstance();
+ expenses = new ArrayList<>();
+ observers = new ArrayList<>();
+ }
+
+ public void addObserver(Observer observer) {
+ observers.add(observer);
+ }
+
+ public void addUser(User user) {
+ userManager.addUser(user);
+ }
+
+ public void addEqualExpense(double totalAmount, List participants) {
+ ExpenseFactory factory = new EqualExpenseFactory();
+ Expense expense = factory.createExpense(totalAmount, participants);
+ expenses.add(expense);
+
+ notifyObservers();
+ }
+
+ // Other facade methods...
+
+ private void notifyObservers() {
+ for (Observer observer : observers) {
+ observer.update();
+ }
+ }
+}
diff --git a/core-java/SplitWise/UnequalExpense.java b/core-java/SplitWise/UnequalExpense.java
new file mode 100644
index 0000000..2cc521b
--- /dev/null
+++ b/core-java/SplitWise/UnequalExpense.java
@@ -0,0 +1,13 @@
+package SplitWise;
+
+import java.util.List;
+
+class UnequalExpense extends Expense {
+ public UnequalExpense(double totalAmount, List participants) {
+ super(totalAmount, participants, new UnequalSplitStrategy());
+ }
+
+ public void calculateShares() {
+ shares = splitStrategy.splitExpense(totalAmount, participants);
+ }
+}
diff --git a/core-java/SplitWise/UnequalExpenseFactory.java b/core-java/SplitWise/UnequalExpenseFactory.java
new file mode 100644
index 0000000..e7fbec8
--- /dev/null
+++ b/core-java/SplitWise/UnequalExpenseFactory.java
@@ -0,0 +1,9 @@
+package SplitWise;
+
+import java.util.List;
+
+class UnequalExpenseFactory implements ExpenseFactory {
+ public Expense createExpense(double totalAmount, List participants) {
+ return new UnequalExpense(totalAmount, participants);
+ }
+}
diff --git a/core-java/SplitWise/UnequalSplitStrategy.java b/core-java/SplitWise/UnequalSplitStrategy.java
new file mode 100644
index 0000000..0852a1d
--- /dev/null
+++ b/core-java/SplitWise/UnequalSplitStrategy.java
@@ -0,0 +1,12 @@
+package SplitWise;
+
+import java.util.List;
+import java.util.Map;
+
+class UnequalSplitStrategy implements SplitStrategy {
+ public Map splitExpense(double totalAmount, List participants) {
+ // Custom splitting logic based on user preferences, weights, etc.
+ // For simplicity, we'll use equal splitting for demonstration purposes.
+ return new EqualSplitStrategy().splitExpense(totalAmount, participants);
+ }
+}
diff --git a/core-java/SplitWise/User.java b/core-java/SplitWise/User.java
new file mode 100644
index 0000000..06433df
--- /dev/null
+++ b/core-java/SplitWise/User.java
@@ -0,0 +1,19 @@
+package SplitWise;
+
+class User {
+ private String userId;
+ private String name;
+
+ public User(String userId, String name) {
+ this.userId = userId;
+ this.name = name;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
diff --git a/core-java/SplitWise/UserManager.java b/core-java/SplitWise/UserManager.java
new file mode 100644
index 0000000..ab9cadf
--- /dev/null
+++ b/core-java/SplitWise/UserManager.java
@@ -0,0 +1,27 @@
+package SplitWise;
+import java.util.*;
+
+// Singleton Pattern
+class UserManager {
+ private static UserManager instance;
+ private Map users;
+
+ private UserManager() {
+ users = new HashMap<>();
+ }
+
+ public static UserManager getInstance() {
+ if (instance == null) {
+ instance = new UserManager();
+ }
+ return instance;
+ }
+
+ public void addUser(User user) {
+ users.put(user.getUserId(), user);
+ }
+
+ public User getUser(String userId) {
+ return users.get(userId);
+ }
+}
\ No newline at end of file
diff --git a/core-java/UnmodfiableCollections.java b/core-java/UnmodfiableCollections.java
new file mode 100644
index 0000000..60e8f6f
--- /dev/null
+++ b/core-java/UnmodfiableCollections.java
@@ -0,0 +1,27 @@
+import java.util.*;
+class UnmodfiableCollections {
+
+ public static void main(String[] args) {
+ List list = new ArrayList<>();
+ list.add("A");
+ list.add("B");
+ list.add("C");
+
+
+ for (String s : list) {
+ System.out.println(s);
+ }
+
+ List stringList = List.copyOf(list);
+
+ for (String s : stringList) {
+ System.out.println(s);
+ }
+
+ list.add("d");
+
+ for (String s : list) {
+ System.out.println(s);
+ }
+ }
+}
\ No newline at end of file
diff --git a/core-java/arrays/ArraysClass.java b/core-java/arrays/ArraysClass.java
index 04a290d..ae97ecc 100644
--- a/core-java/arrays/ArraysClass.java
+++ b/core-java/arrays/ArraysClass.java
@@ -2,7 +2,7 @@
import java.util.Arrays;
import java.util.List;
-import org.apache.commons.lang.ArrayUtils;
+//import org.apache.commons.lang.ArrayUtils;
public class ArraysClass {
@@ -24,9 +24,10 @@ public static void main(String[] args) {
Arrays.fill(arr, 0, 3, 5);
System.out.println("Arrays filled with 5 from 0 to 3: "+ Arrays.toString(arr));*/
- Integer[] newArr = ArrayUtils.toObject(arr);
+ //Integer[] newArr = ArrayUtils.toObject(arr);
- List al = Arrays.asList(newArr);
- System.out.println("As a List() :" + al);
+ //List al = Arrays.asList(newArr);
+ //System.out.println("As a List() :" + al);
+ //System.out.println("As a List() :" + al);
}
}
diff --git a/core-java/basics/UnderscoreAs_Variable.java b/core-java/basics/UnderscoreAs_Variable.java
index 969ac9a..1e60fbd 100644
--- a/core-java/basics/UnderscoreAs_Variable.java
+++ b/core-java/basics/UnderscoreAs_Variable.java
@@ -3,7 +3,8 @@
public class UnderscoreAs_Variable {
public static void main(String[] args) {
- int _ = 10;
- System.out.println(_);
+ //int _ = 10;
+ System.out.println("");
+
}
}
diff --git a/core-java/collections/CopyOnWriteArraySetExample.java b/core-java/collections/CopyOnWriteArraySetExample.java
index 4d31821..f8fd113 100644
--- a/core-java/collections/CopyOnWriteArraySetExample.java
+++ b/core-java/collections/CopyOnWriteArraySetExample.java
@@ -3,7 +3,7 @@
import java.util.concurrent.*;
import java.util.*;
-import com.lowagie.text.pdf.hyphenation.TernaryTree.Iterator;
+//import com.lowagie.text.pdf.hyphenation.TernaryTree.Iterator;
public class CopyOnWriteArraySetExample extends Thread {
static CopyOnWriteArraySet l = new CopyOnWriteArraySet();
diff --git a/core-java/com/practise/java/streams/Concatenated2Strings.java b/core-java/com/practise/java/streams/Concatenated2Strings.java
new file mode 100644
index 0000000..006d161
--- /dev/null
+++ b/core-java/com/practise/java/streams/Concatenated2Strings.java
@@ -0,0 +1,18 @@
+package com.practise.java.streams;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class Concatenated2Strings {
+ public static void main(String[] args) {
+ List list1 = Arrays.asList("Java", "8");
+ List list2 = Arrays.asList("explained", "through", "programs");
+ usingStreams(list1, list2);
+ }
+
+ private static void usingStreams(List list1, List list2) {
+ Stream concatStream = Stream.concat(list1.stream(), list2.stream());
+ concatStream.forEach(s -> System.out.print(" " + s));
+ }
+}
diff --git a/core-java/com/practise/java/streams/DuplicateElements.java b/core-java/com/practise/java/streams/DuplicateElements.java
new file mode 100644
index 0000000..28960e6
--- /dev/null
+++ b/core-java/com/practise/java/streams/DuplicateElements.java
@@ -0,0 +1,16 @@
+package com.practise.java.streams;
+
+import java.util.*;
+import java.util.stream.*;
+
+//3. How to find duplicate elements in a given integers list in java using
+// Stream functions?
+public class DuplicateElements {
+ public static void main(String args[]) {
+ List myList = Arrays.asList(10,15,8,49,25,98,98,32,15);
+ Set set = new HashSet();
+ myList.stream()
+ .filter(n -> !set.add(n))
+ .forEach(System.out::println);
+ }
+}
diff --git a/core-java/com/practise/java/streams/DuplicateElementswithCount.java b/core-java/com/practise/java/streams/DuplicateElementswithCount.java
new file mode 100644
index 0000000..76f79d7
--- /dev/null
+++ b/core-java/com/practise/java/streams/DuplicateElementswithCount.java
@@ -0,0 +1,30 @@
+package com.practise.java.streams;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+//How to find only duplicate elements with its count from the String ArrayList in Java8?
+public class DuplicateElementswithCount {
+ public static void main(String[] args) {
+ List list = new ArrayList<>();
+ list.add("AA");
+ list.add("BB");
+ list.add("CC");
+ list.add("BB");
+ list.add("CC");
+ list.add("AA");
+ list.add("AA");
+ //Printing the list
+ System.out.println("List: " + list);
+ //Finding the duplicate elements with its count
+ Map result1 = list.stream()
+ .collect(Collectors.groupingBy(s -> s, Collectors.counting()))
+ .entrySet()
+ .stream()
+ .filter(e -> e.getValue() > 1)
+ .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
+
+ System.out.println("Duplicate elements with count: " + result1);
+
+ }
+}
diff --git a/core-java/com/practise/java/streams/EvenNumber.java b/core-java/com/practise/java/streams/EvenNumber.java
new file mode 100644
index 0000000..92446c5
--- /dev/null
+++ b/core-java/com/practise/java/streams/EvenNumber.java
@@ -0,0 +1,14 @@
+package com.practise.java.streams;
+
+//1. Given a list of integers, find out all the even numbers that exist in the list
+// using Stream functions?
+import java.util.*;
+import java.util.stream.*;
+public class EvenNumber{
+ public static void main(String args[]) {
+ List list = Arrays.asList(10,15,8,49,25,98,32);
+ list.stream()
+ .filter(n -> n%2 == 0)
+ .forEach(System.out::println);
+ }
+}
diff --git a/core-java/com/practise/java/streams/FindCount.java b/core-java/com/practise/java/streams/FindCount.java
new file mode 100644
index 0000000..b64268c
--- /dev/null
+++ b/core-java/com/practise/java/streams/FindCount.java
@@ -0,0 +1,14 @@
+package com.practise.java.streams;
+
+import java.util.Arrays;
+import java.util.List;
+
+//5. Given a list of integers, find the total number of elements present in the
+// list using Stream functions
+public class FindCount {
+ public static void main(String[] args) {
+ List myList = Arrays.asList(10, 15, 8, 49, 25, 98, 32);
+ System.out.println(myList.stream()
+ .count());
+ }
+}
diff --git a/core-java/com/practise/java/streams/FindFirstElement.java b/core-java/com/practise/java/streams/FindFirstElement.java
new file mode 100644
index 0000000..6675e86
--- /dev/null
+++ b/core-java/com/practise/java/streams/FindFirstElement.java
@@ -0,0 +1,16 @@
+package com.practise.java.streams;
+
+import java.util.*;
+
+//4. Given the list of integers, find the first element of the list using Stream
+// functions?
+
+public class FindFirstElement{
+ public static void main(String args[]) {
+ List myList = Arrays.asList(10,15,8,49,25,98,98,32,15);
+ myList.stream()
+ .findFirst()
+ .ifPresent(System.out::println);
+ }
+}
+
diff --git a/core-java/com/practise/java/streams/FindMaxElement.java b/core-java/com/practise/java/streams/FindMaxElement.java
new file mode 100644
index 0000000..63e2054
--- /dev/null
+++ b/core-java/com/practise/java/streams/FindMaxElement.java
@@ -0,0 +1,21 @@
+package com.practise.java.streams;
+
+import java.util.*;
+
+//6. Given a list of integers, find the maximum value element present in it
+// using Stream functions
+public class FindMaxElement {
+ public static void main(String[] args) {
+ List mylist= Arrays.asList(10,15,8,49,25,98,98,32,15);
+ mylist.stream().mapToInt(Integer ::intValue)
+ .max();
+
+ mylist.stream()
+ .min(Integer::compare)
+ .get();
+
+ System.out.println(mylist.stream().mapToInt(Integer ::intValue)
+ .max());
+ }
+
+}
diff --git a/core-java/com/practise/java/streams/FindTotalForStreamIntegers.java b/core-java/com/practise/java/streams/FindTotalForStreamIntegers.java
new file mode 100644
index 0000000..617b88e
--- /dev/null
+++ b/core-java/com/practise/java/streams/FindTotalForStreamIntegers.java
@@ -0,0 +1,21 @@
+package com.practise.java.streams;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class FindTotalForStreamIntegers {
+ public static void main(String[] args) {
+ List myList = Arrays.asList(10, 15, 8, 49, 25, 98, 32);
+ int sum=0;
+ for (Integer i: myList){
+ sum = sum+i;
+ }
+ System.out.println(" Total " +sum);
+
+ int total=myList.stream()
+ .mapToInt(Integer::intValue)
+ .sum();
+
+ System.out.println(" Using Streams Total " +sum);
+ }
+}
diff --git a/core-java/com/practise/java/streams/Note.java b/core-java/com/practise/java/streams/Note.java
new file mode 100644
index 0000000..2a68aa6
--- /dev/null
+++ b/core-java/com/practise/java/streams/Note.java
@@ -0,0 +1,4 @@
+package com.practise.java.streams;
+
+public class Note {
+}
diff --git a/core-java/com/practise/java/streams/NumberStartingWithOne.java b/core-java/com/practise/java/streams/NumberStartingWithOne.java
new file mode 100644
index 0000000..ff3d8af
--- /dev/null
+++ b/core-java/com/practise/java/streams/NumberStartingWithOne.java
@@ -0,0 +1,17 @@
+package com.practise.java.streams;
+
+//. Given a list of integers, find out all the numbers starting with 1 using
+// Stream functions?
+
+import java.util.*;
+
+public class NumberStartingWithOne {
+
+ public static void main(String[] args) {
+ List myList = Arrays.asList(10, 15, 8, 49, 25, 98, 32);
+ myList.stream()
+ .map(s -> s + "")
+ .filter(s -> s.startsWith("1"))
+ .forEach(System.out::println);
+ }
+}
diff --git a/core-java/com/practise/java/streams/PECSPrinciple.java b/core-java/com/practise/java/streams/PECSPrinciple.java
new file mode 100644
index 0000000..98fb10e
--- /dev/null
+++ b/core-java/com/practise/java/streams/PECSPrinciple.java
@@ -0,0 +1,20 @@
+package com.practise.java.streams;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PECSPrinciple {
+
+ public static void main (String[] args) {
+ //Producer Extends (reading) Consumer Super(Writting)
+ List extends Number> numbers = new ArrayList();
+ Number number = numbers.get(0);
+ //number.add(Integer.valueOf(10)); //Compile time error
+
+
+ List super Integer> superNumber = new ArrayList();
+ superNumber.add(Integer.valueOf(10));
+ //Integer integer = superNumber.get(0); //Compile time error
+
+ }
+}
diff --git a/core-java/com/practise/java/streams/SortValues.java b/core-java/com/practise/java/streams/SortValues.java
new file mode 100644
index 0000000..b2fe373
--- /dev/null
+++ b/core-java/com/practise/java/streams/SortValues.java
@@ -0,0 +1,25 @@
+package com.practise.java.streams;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+//Given a list of integers, sort all the values present in it using Stream
+// functions?
+public class SortValues {
+ public static void main(String args[]) {
+ List myList = Arrays.asList(10, 15, 8, 49, 25, 98, 98, 32, 15);
+
+ myList = myList.stream()
+ .sorted()
+ .collect(Collectors.toList());
+
+ myList.stream()
+ .sorted(Collections.reverseOrder())
+ .forEach(System.out::println);
+
+ //System.out.println(myList);
+
+
+
+ }
+ }
diff --git a/core-java/com/practise/java/streams/UppercaseStream.java b/core-java/com/practise/java/streams/UppercaseStream.java
new file mode 100644
index 0000000..38ed2e7
--- /dev/null
+++ b/core-java/com/practise/java/streams/UppercaseStream.java
@@ -0,0 +1,14 @@
+package com.practise.java.streams;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+//Given a list of strings, convert them into uppercase using Stream functions?
+public class UppercaseStream {
+ public static void main(String[] args) {
+ String[] names = {"Java", "Python", "JavaScript", "Ruby", "C++"};
+ Arrays.stream(names)
+ .map(String::toUpperCase)
+ .forEach(System.out::println);;
+ }
+}
diff --git a/core-java/com/practise/java/streams/containsDuplicate.java b/core-java/com/practise/java/streams/containsDuplicate.java
new file mode 100644
index 0000000..99cfe69
--- /dev/null
+++ b/core-java/com/practise/java/streams/containsDuplicate.java
@@ -0,0 +1,27 @@
+package com.practise.java.streams;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+//Given an integer array nums , return true if any value appears at least
+// twice in the array, and return false if every element is distinct
+public class containsDuplicate {
+ public static void main(String[] args) {
+ int nums[] ={1,2,3,4};
+ int nums1[] ={1,2,3,1};
+ boolean result = containsDuplicate(nums1);
+ System.out.println(" " + result);
+
+ }
+ public static boolean containsDuplicate(int[] nums) {
+ List myList=Arrays.stream(nums)
+ .boxed()
+ .collect(Collectors.toList());
+
+ Set set = new HashSet(myList);
+ return set.size() != myList.size();
+ }
+}
diff --git a/core-java/com/practise/java/streams/countEachElementWord.java b/core-java/com/practise/java/streams/countEachElementWord.java
new file mode 100644
index 0000000..bcb82be
--- /dev/null
+++ b/core-java/com/practise/java/streams/countEachElementWord.java
@@ -0,0 +1,17 @@
+package com.practise.java.streams;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+public class countEachElementWord {
+ public static void main(String[] args) {
+ List names = Arrays.asList("AA", "BB", "AA", "CC");
+
+ Map namesCount = names
+ .stream()
+ .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
+ System.out.println(namesCount);
+
+
+ }
+}
diff --git a/core-java/com/practise/java/streams/tricky/Interface1.java b/core-java/com/practise/java/streams/tricky/Interface1.java
new file mode 100644
index 0000000..607d298
--- /dev/null
+++ b/core-java/com/practise/java/streams/tricky/Interface1.java
@@ -0,0 +1,13 @@
+package com.practise.java.streams.tricky;
+
+public interface Interface1 {
+ void method1();
+
+ default void alarm(){
+ System.out.println("method3");
+ }
+
+ static void method4(){
+ System.out.println("method4");
+ }
+}
diff --git a/core-java/com/practise/java/streams/tricky/Interface2.java b/core-java/com/practise/java/streams/tricky/Interface2.java
new file mode 100644
index 0000000..1a2fef0
--- /dev/null
+++ b/core-java/com/practise/java/streams/tricky/Interface2.java
@@ -0,0 +1,17 @@
+package com.practise.java.streams.tricky;
+
+public interface Interface2 {
+ void method2();
+ default void method3(){
+ System.out.println("method3");
+ }
+
+ default void alarm(){
+ System.out.println("method3");
+ }
+
+ static void method4(){
+ System.out.println("method4");
+ }
+
+}
diff --git a/core-java/com/practise/java/streams/tricky/InterfaceImplemenations.java b/core-java/com/practise/java/streams/tricky/InterfaceImplemenations.java
new file mode 100644
index 0000000..37ea1f3
--- /dev/null
+++ b/core-java/com/practise/java/streams/tricky/InterfaceImplemenations.java
@@ -0,0 +1,15 @@
+package com.practise.java.streams.tricky;
+
+public class InterfaceImplemenations implements Interface1{
+ public void method1(){
+ System.out.println("method1");
+ }
+ /*public void method2(){
+ System.out.println("method2");
+ }*/
+ public static void main(String[] args) {
+ InterfaceImplemenations obj = new InterfaceImplemenations();
+ obj.method1();
+
+ }
+}
diff --git a/core-java/com/practise/java/streams/tricky/InterfaceImplementation2.java b/core-java/com/practise/java/streams/tricky/InterfaceImplementation2.java
new file mode 100644
index 0000000..b708452
--- /dev/null
+++ b/core-java/com/practise/java/streams/tricky/InterfaceImplementation2.java
@@ -0,0 +1,25 @@
+package com.practise.java.streams.tricky;
+
+public class InterfaceImplementation2 implements Interface2, Interface1{
+ public void method2(){
+ System.out.println("method2");
+ }
+
+ @Override
+ public void alarm() {
+ Interface2.super.alarm();
+ }
+
+ public static void main(String[] args) {
+ InterfaceImplementation2 obj = new InterfaceImplementation2();
+ obj.method2();
+ obj.method3();
+ obj.alarm();
+ Interface2.method4();
+ }
+
+ @Override
+ public void method1() {
+ System.out.println("method1");
+ }
+}
diff --git a/core-java/com/practise/java/streams/tricky/UnmodfiableCollections.java b/core-java/com/practise/java/streams/tricky/UnmodfiableCollections.java
new file mode 100644
index 0000000..b91a0ee
--- /dev/null
+++ b/core-java/com/practise/java/streams/tricky/UnmodfiableCollections.java
@@ -0,0 +1,31 @@
+package com.practise.java.streams.tricky;
+
+import java.util.ArrayList;
+import java.util.List;
+
+class UnmodfiableCollections {
+
+ public static void main(String[] args) {
+ List list = new ArrayList<>();
+ list.add("A");
+ list.add("B");
+ list.add("C");
+
+
+ for (String s : list) {
+ System.out.println(s);
+ }
+
+ List stringList = List.copyOf(list);
+
+ for (String s : stringList) {
+ System.out.println(s);
+ }
+
+ list.add("d");
+
+ for (String s : list) {
+ System.out.println(s);
+ }
+ }
+}
\ No newline at end of file
diff --git a/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Dice.java b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Dice.java
new file mode 100644
index 0000000..52a42c3
--- /dev/null
+++ b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Dice.java
@@ -0,0 +1,22 @@
+package designPattern.LowLevelSystemDesign.SnakesNLadder;
+
+public class Dice {
+
+ public int getNumberOfDice() {
+ return numberOfDice;
+ }
+
+ public void setNumberOfDice(int numberOfDice) {
+ this.numberOfDice = numberOfDice;
+ }
+
+ private int numberOfDice;
+
+ public Dice(int numberOfDice) {
+ this.numberOfDice = numberOfDice;
+ }
+ int rollDice(){
+ return ((int) (Math.random()*(6*numberOfDice - 1*numberOfDice))) + 1;
+ }
+
+}
diff --git a/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/GameBoard.java b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/GameBoard.java
new file mode 100644
index 0000000..8362907
--- /dev/null
+++ b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/GameBoard.java
@@ -0,0 +1,66 @@
+package designPattern.LowLevelSystemDesign.SnakesNLadder;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+
+class GameBoard {
+ private Dice dice;
+ private Queue nextTurn;
+ private List snakes;
+ private List ladders;
+ private Map playersCurrentPosition;
+ int boardSize;
+
+ GameBoard(Dice dice, Queue nextTurn, List snakes, List ladders,Map playersCurrentPosition,int boardSize) {
+ this.dice = dice;
+ this.nextTurn = nextTurn;
+ this.snakes = snakes;
+ this.ladders = ladders;
+ this.playersCurrentPosition = playersCurrentPosition;
+ this.boardSize = boardSize;
+ }
+
+ void startGame(){
+ while(nextTurn.size()>1) {
+ Player player = nextTurn.poll();
+ int currentPosition = playersCurrentPosition.get(player.getPlayerName());
+
+ int diceValue = dice.rollDice();
+ int nextCell = currentPosition + diceValue;
+
+ if (nextCell > boardSize) nextTurn.offer(player); //
+ else if (nextCell == boardSize) {
+ System.out.println(player.getPlayerName() + " won the game");
+ }
+ else {
+ int[] nextPosition = new int[1];
+ boolean[] b = new boolean[1];
+ nextPosition[0] = nextCell;
+ snakes.forEach(v -> {
+ if (v.startPoint == nextCell) {
+ nextPosition[0] = v.endPoint;
+ }
+ });
+ if (nextPosition[0] != nextCell)
+ System.out.println(player.getPlayerName() + " Bitten by Snake present at: " + nextCell);
+ ladders.forEach(v -> {
+ if (v.startPoint == nextCell) {
+ nextPosition[0] = v.endPoint;
+ b[0] = true;
+ }
+ });
+ if (nextPosition[0] != nextCell && b[0])
+ System.out.println(player.getPlayerName() + " Got ladder present at: " + nextCell);
+ if (nextPosition[0] == boardSize) {
+ System.out.println(player.getPlayerName() + " won the game");
+ }
+ else {
+ playersCurrentPosition.put(player.getPlayerName(), nextPosition[0]);
+ System.out.println(player.getPlayerName() + " is at position " + nextPosition[0]);
+ nextTurn.offer(player);
+ }
+ }
+ }
+ }
+}
diff --git a/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Jumper.java b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Jumper.java
new file mode 100644
index 0000000..efa5b77
--- /dev/null
+++ b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Jumper.java
@@ -0,0 +1,34 @@
+package designPattern.LowLevelSystemDesign.SnakesNLadder;
+
+import java.util.Objects;
+
+public class Jumper {
+ int startPoint;
+ int endPoint;
+
+ public Jumper(int startPoint, int endPoint) {
+ this.startPoint = startPoint;
+ this.endPoint = endPoint;
+ }
+
+ public int getStartPoint() {
+ return startPoint;
+ }
+
+ public void setStartPoint(int startPoint) {
+ this.startPoint = startPoint;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Jumper jumper = (Jumper) o;
+ return startPoint == jumper.startPoint && endPoint == jumper.endPoint;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(startPoint, endPoint);
+ }
+}
diff --git a/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/PlaySnakeAndLadder.java b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/PlaySnakeAndLadder.java
new file mode 100644
index 0000000..1cc23f8
--- /dev/null
+++ b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/PlaySnakeAndLadder.java
@@ -0,0 +1,34 @@
+package designPattern.LowLevelSystemDesign.SnakesNLadder;
+
+import java.util.*;
+
+public class PlaySnakeAndLadder {
+ public static void main(String[] args) {
+ Dice dice = new Dice(1);
+ Player p1 = new Player("Alberts",1);
+ Player p2 = new Player("Pintoss",2);
+ Queue allPlayers = new LinkedList<>();
+ allPlayers.offer(p1);
+ allPlayers.offer(p2);
+
+ Jumper snake1 = new Jumper(10,2);
+ Jumper snake2 = new Jumper(99,12);
+
+ List snakes = new ArrayList<>();
+ snakes.add(snake1);
+ snakes.add(snake2);
+
+ Jumper ladder1 = new Jumper(5,25);
+ Jumper ladder2 = new Jumper(40,89);
+
+
+ List ladders = new ArrayList<>();
+ ladders.add(ladder1);
+ ladders.add(ladder2);
+ Map playersCurrentPosition = new HashMap<>();
+ playersCurrentPosition.put("Alberts",0);
+ playersCurrentPosition.put("Pintoss",0);
+ GameBoard gb=new GameBoard(dice,allPlayers,snakes,ladders,playersCurrentPosition,100);
+ gb.startGame();
+ }
+}
diff --git a/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Player.java b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Player.java
new file mode 100644
index 0000000..902f19c
--- /dev/null
+++ b/core-java/designPattern/LowLevelSystemDesign/SnakesNLadder/Player.java
@@ -0,0 +1,34 @@
+package designPattern.LowLevelSystemDesign.SnakesNLadder;
+
+import java.util.Objects;
+
+class Player {
+ private String playerName;
+ private int id;
+
+ Player(String playerName, int id) {
+ this.playerName = playerName;
+ this.id = id;
+ }
+
+ public String getPlayerName() {
+ return playerName;
+ }
+
+ public void setPlayerName(String playerName) {
+ this.playerName = playerName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Player player = (Player) o;
+ return id == player.id && Objects.equals(playerName, player.playerName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(playerName, id);
+ }
+}
\ No newline at end of file
diff --git a/core-java/designPattern/Test b/core-java/designPattern/Test
new file mode 100644
index 0000000..e69de29
diff --git a/core-java/designPattern/creational/abstractfactory/AbstractFactory.java b/core-java/designPattern/creational/abstractfactory/AbstractFactory.java
new file mode 100644
index 0000000..855abb8
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/AbstractFactory.java
@@ -0,0 +1,6 @@
+package designPattern.creational.abstractfactory;
+
+public abstract class AbstractFactory {
+ abstract Bank getBank(String bankName);
+ abstract Loan getLoan(String laonName);
+}
diff --git a/core-java/designPattern/creational/abstractfactory/AbstractFactoryDemo.java b/core-java/designPattern/creational/abstractfactory/AbstractFactoryDemo.java
new file mode 100644
index 0000000..10ebe17
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/AbstractFactoryDemo.java
@@ -0,0 +1,21 @@
+package designPattern.creational.abstractfactory;
+
+public class AbstractFactoryDemo {
+
+ public static void main (String args []) {
+
+ FactoryCreator factoryCreator = new FactoryCreator();
+
+ AbstractFactory bankFactory = factoryCreator.getFactory("BankFactory");
+ AbstractFactory loanFactory = factoryCreator.getFactory("LoanFactory");
+
+ Bank bank = bankFactory.getBank("SBI");
+ Loan loan = loanFactory.getLoan("HomeLoan");
+
+ loan.setInterestRate(5);
+ double loanPayment = loan.calculateLoanPayment(1000,5);
+
+ System.out.println(loanPayment);
+ }
+
+}
diff --git a/core-java/designPattern/creational/abstractfactory/Bank.java b/core-java/designPattern/creational/abstractfactory/Bank.java
new file mode 100644
index 0000000..e37fd7a
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/Bank.java
@@ -0,0 +1,5 @@
+package designPattern.creational.abstractfactory;
+
+public interface Bank {
+ String getBankName(String bank);
+}
diff --git a/core-java/designPattern/creational/abstractfactory/BankFactory.java b/core-java/designPattern/creational/abstractfactory/BankFactory.java
new file mode 100644
index 0000000..60b14da
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/BankFactory.java
@@ -0,0 +1,25 @@
+package designPattern.creational.abstractfactory;
+
+public class BankFactory extends AbstractFactory {
+ @Override
+ Bank getBank(String bankName) {
+ if(bankName == null)
+ return null;
+
+ else if(bankName.equalsIgnoreCase("HDFC"))
+ return new HDFC();
+
+ else if(bankName.equalsIgnoreCase("SBI"))
+ return new SBI();
+
+ else if(bankName.equalsIgnoreCase("ICICI"))
+ return new ICICI();
+
+ else return null;
+ }
+
+ @Override
+ Loan getLoan(String loanName) {
+ return null;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/BusinessLoan.java b/core-java/designPattern/creational/abstractfactory/BusinessLoan.java
new file mode 100644
index 0000000..cafb2f9
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/BusinessLoan.java
@@ -0,0 +1,9 @@
+package designPattern.creational.abstractfactory;
+
+public class BusinessLoan extends Loan {
+
+ @Override
+ void setInterestRate(double rate){
+ this.rate = rate;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/EducationLoan.java b/core-java/designPattern/creational/abstractfactory/EducationLoan.java
new file mode 100644
index 0000000..a5f97a8
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/EducationLoan.java
@@ -0,0 +1,9 @@
+package designPattern.creational.abstractfactory;
+
+public class EducationLoan extends Loan {
+
+ @Override
+ void setInterestRate(double rate){
+ this.rate = rate;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/FactoryCreator.java b/core-java/designPattern/creational/abstractfactory/FactoryCreator.java
new file mode 100644
index 0000000..c14d67f
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/FactoryCreator.java
@@ -0,0 +1,18 @@
+package designPattern.creational.abstractfactory;
+
+public class FactoryCreator {
+ AbstractFactory getFactory(String factoryName)
+ {
+ if (factoryName == null)
+ return null;
+
+ else if(factoryName.equalsIgnoreCase("LoanFactory"))
+ return new LoanFactory();
+
+ else if(factoryName.equalsIgnoreCase("BankFactory"))
+ return new BankFactory();
+
+ else
+ return null;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/HDFC.java b/core-java/designPattern/creational/abstractfactory/HDFC.java
new file mode 100644
index 0000000..ed975e4
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/HDFC.java
@@ -0,0 +1,14 @@
+package designPattern.creational.abstractfactory;
+
+public class HDFC implements Bank {
+ String BNAME;
+
+ public HDFC() {
+ this.BNAME = "HDFC";
+ }
+
+ @Override
+ public String getBankName(String bank) {
+ return BNAME;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/HomeLoan.java b/core-java/designPattern/creational/abstractfactory/HomeLoan.java
new file mode 100644
index 0000000..5930ee2
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/HomeLoan.java
@@ -0,0 +1,9 @@
+package designPattern.creational.abstractfactory;
+
+public class HomeLoan extends Loan {
+
+ @Override
+ void setInterestRate(double rate){
+ this.rate = rate;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/ICICI.java b/core-java/designPattern/creational/abstractfactory/ICICI.java
new file mode 100644
index 0000000..2d5bb21
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/ICICI.java
@@ -0,0 +1,14 @@
+package designPattern.creational.abstractfactory;
+
+public class ICICI implements Bank {
+ String BNAME;
+
+ public ICICI() {
+ this.BNAME = "ICICI";
+ }
+
+ @Override
+ public String getBankName(String bank) {
+ return BNAME;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/Loan.java b/core-java/designPattern/creational/abstractfactory/Loan.java
new file mode 100644
index 0000000..c27fa58
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/Loan.java
@@ -0,0 +1,15 @@
+package designPattern.creational.abstractfactory;
+
+public abstract class Loan {
+ double rate;
+
+ abstract void setInterestRate(double rate);
+
+ double calculateLoanPayment(double loanAmount, int tenure)
+ {
+ //Replace with real formula [not our concern now]
+ double loanPayment = loanAmount*tenure*rate;
+
+ return loanPayment;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/LoanFactory.java b/core-java/designPattern/creational/abstractfactory/LoanFactory.java
new file mode 100644
index 0000000..43564e7
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/LoanFactory.java
@@ -0,0 +1,25 @@
+package designPattern.creational.abstractfactory;
+
+public class LoanFactory extends AbstractFactory {
+ @Override
+ Bank getBank(String bankName) {
+ return null;
+ }
+
+ @Override
+ Loan getLoan(String loanName) {
+ if(loanName == null)
+ return null;
+
+ else if(loanName.equalsIgnoreCase("HomeLoan"))
+ return new HomeLoan();
+
+ else if(loanName.equalsIgnoreCase("BusinessLoan"))
+ return new BusinessLoan();
+
+ else if(loanName.equalsIgnoreCase("EducationLoan"))
+ return new EducationLoan();
+
+ else return null;
+ }
+}
diff --git a/core-java/designPattern/creational/abstractfactory/SBI.java b/core-java/designPattern/creational/abstractfactory/SBI.java
new file mode 100644
index 0000000..f37ed17
--- /dev/null
+++ b/core-java/designPattern/creational/abstractfactory/SBI.java
@@ -0,0 +1,14 @@
+package designPattern.creational.abstractfactory;
+
+public class SBI implements Bank {
+ String BNAME;
+
+ public SBI() {
+ this.BNAME = "SBI";
+ }
+
+ @Override
+ public String getBankName(String bank) {
+ return BNAME;
+ }
+}
diff --git a/core-java/designPattern/creational/builder/BuilderPatternDemo.java b/core-java/designPattern/creational/builder/BuilderPatternDemo.java
new file mode 100644
index 0000000..8ceb179
--- /dev/null
+++ b/core-java/designPattern/creational/builder/BuilderPatternDemo.java
@@ -0,0 +1,15 @@
+package designPattern.creational.builder;
+
+public class BuilderPatternDemo {
+ public static void main(String args[])
+ {
+ Person p = new Person.Builder()
+ .setAge(7)
+ .setFathername("Sharmaji")
+ .setFirstname("Rahul")
+ .setAge(19)
+ .build();
+
+ p.showMessage();
+ }
+}
diff --git a/core-java/designPattern/creational/builder/Person.java b/core-java/designPattern/creational/builder/Person.java
new file mode 100644
index 0000000..500c5b7
--- /dev/null
+++ b/core-java/designPattern/creational/builder/Person.java
@@ -0,0 +1,69 @@
+package designPattern.creational.builder;
+
+public class Person {
+
+ private int age;
+ private String firstname;
+ private String middlename;
+ private String lastname;
+ private String fathername;
+ private String mothername;
+
+ public Person(int age, String firstname, String middlename, String lastname, String fathername, String mothername) {
+ this.age = age;
+ this.firstname = firstname;
+ this.middlename = middlename;
+ this.lastname = lastname;
+ this.fathername = fathername;
+ this.mothername = mothername;
+ }
+
+ public static class Builder {
+ private int age;
+ private String firstname;
+ private String middlename;
+ private String lastname;
+ private String fathername;
+ private String mothername;
+
+ public Builder setAge(int age) {
+ this.age = age;
+ return this;
+ }
+
+ public Builder setFirstname(String firstname) {
+ this.firstname = firstname;
+ return this;
+ }
+
+ public Builder setMiddlename(String middlename) {
+ this.middlename = middlename;
+ return this;
+ }
+
+ public Builder setLastname(String lastname) {
+ this.lastname = lastname;
+ return this;
+ }
+
+ public Builder setFathername(String fathername) {
+ this.fathername = fathername;
+ return this;
+ }
+
+ public Builder setMothername(String mothername) {
+ this.mothername = mothername;
+ return this;
+ }
+
+ Person build()
+ {
+ return new Person(this.age, this.firstname, this.middlename, this.lastname, this.fathername, this.mothername);
+ }
+ }
+
+ public void showMessage()
+ {
+ System.out.println("Values: " + this.age + this.firstname + this.middlename + this.lastname + this.fathername + this.mothername);
+ }
+}
diff --git a/core-java/designPattern/creational/builder/PersonPOJO.java b/core-java/designPattern/creational/builder/PersonPOJO.java
new file mode 100644
index 0000000..313670c
--- /dev/null
+++ b/core-java/designPattern/creational/builder/PersonPOJO.java
@@ -0,0 +1,94 @@
+package designPattern.creational.builder;
+
+public class PersonPOJO {
+
+ // Normal Scenario
+
+ private int age;
+ private String firstname;
+ private String middlename;
+ private String lastname;
+ private String fathername;
+ private String mothername;
+
+ public PersonPOJO() {}
+
+ public PersonPOJO(int age) {
+ this.age = age;
+ }
+
+ public PersonPOJO(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public PersonPOJO(int age, String firstname) {
+ this.age = age;
+ this.firstname = firstname;
+ }
+
+ public PersonPOJO(int age, String firstname, String middlename) {
+ this.age = age;
+ this.firstname = firstname;
+ this.middlename = middlename;
+ }
+
+ public PersonPOJO(int age, String firstname, String middlename, String lastname, String fathername, String mothername) {
+ this.age = age;
+ this.firstname = firstname;
+ this.middlename = middlename;
+ this.lastname = lastname;
+ this.fathername = fathername;
+ this.mothername = mothername;
+ }
+
+ // ....
+ // similarly, we can have hundreds of constructor combinations in complex classes, so we should use builder instead
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public String getMiddlename() {
+ return middlename;
+ }
+
+ public void setMiddlename(String middlename) {
+ this.middlename = middlename;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public String getFathername() {
+ return fathername;
+ }
+
+ public void setFathername(String fathername) {
+ this.fathername = fathername;
+ }
+
+ public String getMothername() {
+ return mothername;
+ }
+
+ public void setMothername(String mothername) {
+ this.mothername = mothername;
+ }
+}
diff --git a/core-java/designPattern/creational/factory/CommercialPlan.java b/core-java/designPattern/creational/factory/CommercialPlan.java
new file mode 100644
index 0000000..e408795
--- /dev/null
+++ b/core-java/designPattern/creational/factory/CommercialPlan.java
@@ -0,0 +1,9 @@
+package designPattern.creational.factory;
+
+public class CommercialPlan extends Plan {
+
+ @Override
+ protected void setRate() {
+ rate = 2.5;
+ }
+}
diff --git a/core-java/designPattern/creational/factory/DomesticPlan.java b/core-java/designPattern/creational/factory/DomesticPlan.java
new file mode 100644
index 0000000..e117df8
--- /dev/null
+++ b/core-java/designPattern/creational/factory/DomesticPlan.java
@@ -0,0 +1,9 @@
+package designPattern.creational.factory;
+
+public class DomesticPlan extends Plan {
+
+ @Override
+ protected void setRate() {
+ rate = 7.5;
+ }
+}
diff --git a/core-java/designPattern/creational/factory/FactoryDemo.java b/core-java/designPattern/creational/factory/FactoryDemo.java
new file mode 100644
index 0000000..6bcdc7f
--- /dev/null
+++ b/core-java/designPattern/creational/factory/FactoryDemo.java
@@ -0,0 +1,15 @@
+package designPattern.creational.factory;
+
+public class FactoryDemo {
+ public static void main(String args[])
+ {
+ GetPlanFactory factory = new GetPlanFactory();
+
+ Plan plan = factory.getPlan("INSTITUTIONAL");
+ plan.setRate();
+
+ int units = 25;
+ double bill = plan.calculateBill(units);
+ System.out.println(bill);
+ }
+}
diff --git a/core-java/designPattern/creational/factory/GetPlanFactory.java b/core-java/designPattern/creational/factory/GetPlanFactory.java
new file mode 100644
index 0000000..75ae78a
--- /dev/null
+++ b/core-java/designPattern/creational/factory/GetPlanFactory.java
@@ -0,0 +1,20 @@
+package designPattern.creational.factory;
+
+public class GetPlanFactory {
+ public Plan getPlan(String planName)
+ {
+ if(planName==null)
+ return null;
+
+ else if(planName.equalsIgnoreCase("COMMERCIAL"))
+ return new CommercialPlan();
+
+ else if(planName.equalsIgnoreCase("INSTITUTIONAL"))
+ return new CommercialPlan();
+
+ else if(planName.equalsIgnoreCase("DOMESTIC"))
+ return new CommercialPlan();
+
+ else return null;
+ }
+}
diff --git a/core-java/designPattern/creational/factory/InstitutionalPlan.java b/core-java/designPattern/creational/factory/InstitutionalPlan.java
new file mode 100644
index 0000000..64fb228
--- /dev/null
+++ b/core-java/designPattern/creational/factory/InstitutionalPlan.java
@@ -0,0 +1,9 @@
+package designPattern.creational.factory;
+
+public class InstitutionalPlan extends Plan {
+
+ @Override
+ protected void setRate() {
+ rate = 4.5;
+ }
+}
diff --git a/core-java/designPattern/creational/factory/Plan.java b/core-java/designPattern/creational/factory/Plan.java
new file mode 100644
index 0000000..2a74d51
--- /dev/null
+++ b/core-java/designPattern/creational/factory/Plan.java
@@ -0,0 +1,14 @@
+package designPattern.creational.factory;
+
+public abstract class Plan {
+
+ double rate;
+
+ protected abstract void setRate();
+
+ public double calculateBill(int units)
+ {
+ return rate*units;
+ }
+}
+
diff --git a/core-java/designPattern/creational/factory2/Circle.java b/core-java/designPattern/creational/factory2/Circle.java
new file mode 100644
index 0000000..bca0948
--- /dev/null
+++ b/core-java/designPattern/creational/factory2/Circle.java
@@ -0,0 +1,9 @@
+package java_design_patterns.gof_creational.factory2;
+
+public class Circle implements Shape {
+
+ @Override
+ public void draw() {
+ System.out.println("CIRCLE IS DRAWN");
+ }
+}
diff --git a/core-java/designPattern/creational/factory2/FactoryPatternDemo.java b/core-java/designPattern/creational/factory2/FactoryPatternDemo.java
new file mode 100644
index 0000000..eddfb13
--- /dev/null
+++ b/core-java/designPattern/creational/factory2/FactoryPatternDemo.java
@@ -0,0 +1,12 @@
+package java_design_patterns.gof_creational.factory2;
+
+public class FactoryPatternDemo {
+
+ public static void main(String args[])
+ {
+ ShapeFactory factory = new ShapeFactory();
+
+ Shape myShape = factory.getShape("CIRCLE");
+ myShape.draw();
+ }
+}
diff --git a/core-java/designPattern/creational/factory2/Rectangle.java b/core-java/designPattern/creational/factory2/Rectangle.java
new file mode 100644
index 0000000..ecd6083
--- /dev/null
+++ b/core-java/designPattern/creational/factory2/Rectangle.java
@@ -0,0 +1,9 @@
+package java_design_patterns.gof_creational.factory2;
+
+public class Rectangle implements Shape {
+
+ @Override
+ public void draw() {
+ System.out.println("RECTANGLE IS DRAWN");
+ }
+}
diff --git a/core-java/designPattern/creational/factory2/Shape.java b/core-java/designPattern/creational/factory2/Shape.java
new file mode 100644
index 0000000..a27ede1
--- /dev/null
+++ b/core-java/designPattern/creational/factory2/Shape.java
@@ -0,0 +1,5 @@
+package java_design_patterns.gof_creational.factory2;
+
+public interface Shape {
+ public void draw();
+}
diff --git a/core-java/designPattern/creational/factory2/ShapeFactory.java b/core-java/designPattern/creational/factory2/ShapeFactory.java
new file mode 100644
index 0000000..9d5121d
--- /dev/null
+++ b/core-java/designPattern/creational/factory2/ShapeFactory.java
@@ -0,0 +1,17 @@
+package java_design_patterns.gof_creational.factory2;
+
+public class ShapeFactory {
+ Shape getShape(String shapeName)
+ {
+ if (shapeName == null)
+ return null;
+ else if(shapeName.equalsIgnoreCase("SQUARE"))
+ return new Square();
+ else if(shapeName.equalsIgnoreCase("CIRCLE"))
+ return new Circle();
+ else if(shapeName.equalsIgnoreCase("RECTANGLE"))
+ return new Rectangle();
+ else
+ return null;
+ }
+}
diff --git a/core-java/designPattern/creational/factory2/Square.java b/core-java/designPattern/creational/factory2/Square.java
new file mode 100644
index 0000000..d1dcf01
--- /dev/null
+++ b/core-java/designPattern/creational/factory2/Square.java
@@ -0,0 +1,9 @@
+package java_design_patterns.gof_creational.factory2;
+
+public class Square implements Shape {
+
+ @Override
+ public void draw() {
+ System.out.println("SQUARE IS DRAWN");
+ }
+}
diff --git a/core-java/designPattern/creational/prototype/Car.java b/core-java/designPattern/creational/prototype/Car.java
new file mode 100644
index 0000000..bd6bc6d
--- /dev/null
+++ b/core-java/designPattern/creational/prototype/Car.java
@@ -0,0 +1,22 @@
+package designPattern.creational.prototype;
+
+public class Car implements Prototype {
+
+ private String company;
+ private String model;
+
+ public Car(String company, String model) {
+ this.company = company;
+ this.model = model;
+ }
+
+ public void showMessage()
+ {
+ System.out.println("CAR: " + company + " " + model);
+ }
+
+ @Override
+ public Prototype getClone() {
+ return new Car(company, model);
+ }
+}
diff --git a/core-java/designPattern/creational/prototype/Prototype.java b/core-java/designPattern/creational/prototype/Prototype.java
new file mode 100644
index 0000000..cd6a8e4
--- /dev/null
+++ b/core-java/designPattern/creational/prototype/Prototype.java
@@ -0,0 +1,5 @@
+package designPattern.creational.prototype;
+
+public interface Prototype {
+ Prototype getClone();
+}
diff --git a/core-java/designPattern/creational/prototype/PrototypeDemo.java b/core-java/designPattern/creational/prototype/PrototypeDemo.java
new file mode 100644
index 0000000..7045aa9
--- /dev/null
+++ b/core-java/designPattern/creational/prototype/PrototypeDemo.java
@@ -0,0 +1,14 @@
+package designPattern.creational.prototype;
+
+public class PrototypeDemo {
+
+ public static void main(String args[])
+ {
+ Car c1 = new Car("Honda", "Civic");
+ Car c2 = (Car) c1.getClone();
+
+ c1.showMessage();
+ c2.showMessage();
+ }
+
+}
diff --git a/core-java/designPattern/creational/singleton/SingleTonTrial.java b/core-java/designPattern/creational/singleton/SingleTonTrial.java
new file mode 100644
index 0000000..9549b24
--- /dev/null
+++ b/core-java/designPattern/creational/singleton/SingleTonTrial.java
@@ -0,0 +1,13 @@
+package designPattern.creational.singleton;
+
+public class SingleTonTrial {
+
+ public static final SingleTonTrial instance = new SingleTonTrial();
+
+ private SingleTonTrial() {
+ }
+
+ public static SingleTonTrial getInstance() {
+ return instance;
+ }
+}
diff --git a/core-java/designPattern/creational/singleton/SingletonDemo.java b/core-java/designPattern/creational/singleton/SingletonDemo.java
new file mode 100644
index 0000000..cf2a2ea
--- /dev/null
+++ b/core-java/designPattern/creational/singleton/SingletonDemo.java
@@ -0,0 +1,9 @@
+package designPattern.creational.singleton;
+
+public class SingletonDemo {
+
+ public static void main(String[] args) {
+ SingletonObjectEarly s1 = SingletonObjectEarly.getInstance();
+ s1.showMessage();
+ }
+}
diff --git a/core-java/designPattern/creational/singleton/SingletonObjectEarly.java b/core-java/designPattern/creational/singleton/SingletonObjectEarly.java
new file mode 100644
index 0000000..5a282c4
--- /dev/null
+++ b/core-java/designPattern/creational/singleton/SingletonObjectEarly.java
@@ -0,0 +1,19 @@
+package designPattern.creational.singleton;
+
+public class SingletonObjectEarly {
+
+ //EARLY INITIALIZATION SINGLETON
+ static private final SingletonObjectEarly instance = new SingletonObjectEarly();
+
+ private SingletonObjectEarly(){}
+
+ static public SingletonObjectEarly getInstance()
+ {
+ return instance;
+ }
+
+ public void showMessage()
+ {
+ System.out.println("MESSAGE");
+ }
+}
diff --git a/core-java/designPattern/creational/singleton/SingletonTrialTest.java b/core-java/designPattern/creational/singleton/SingletonTrialTest.java
new file mode 100644
index 0000000..1d242f8
--- /dev/null
+++ b/core-java/designPattern/creational/singleton/SingletonTrialTest.java
@@ -0,0 +1,23 @@
+package designPattern.creational.singleton;
+
+public class SingletonTrialTest {
+
+ public static void main(String[] args) {
+ SingleTonTrial s1 = SingleTonTrial.getInstance();
+ testSingletonTrial();
+ }
+
+ public static void testSingletonTrial() {
+ SingleTonTrial instance1 = SingleTonTrial.getInstance();
+ SingleTonTrial instance2 = SingleTonTrial.getInstance();
+ if (instance1 == instance2) {
+ System.out.println("" +instance1);
+ System.out.println("" +instance2);
+ System.out.println("Both instances are same");
+ } else {
+ System.out.println("Both instances are different");
+ }
+ }
+
+
+}
diff --git a/core-java/designPattern/creational/singleton2/SingletonLazyDemo.java b/core-java/designPattern/creational/singleton2/SingletonLazyDemo.java
new file mode 100644
index 0000000..e345a40
--- /dev/null
+++ b/core-java/designPattern/creational/singleton2/SingletonLazyDemo.java
@@ -0,0 +1,10 @@
+package designPattern.creational.singleton2;
+
+public class SingletonLazyDemo {
+
+ public static void main(String[] args)
+ {
+ SingletonObjectLazy s1 = SingletonObjectLazy.getInstance();
+ s1.showMessage();
+ }
+}
diff --git a/core-java/designPattern/creational/singleton2/SingletonObjectLazy.java b/core-java/designPattern/creational/singleton2/SingletonObjectLazy.java
new file mode 100644
index 0000000..26ca91e
--- /dev/null
+++ b/core-java/designPattern/creational/singleton2/SingletonObjectLazy.java
@@ -0,0 +1,32 @@
+package designPattern.creational.singleton2;
+
+public class SingletonObjectLazy {
+
+ //LATE INITIALIZATION SINGLETON
+ //Can be final or volatile, both will serve the purpose
+ private static volatile SingletonObjectLazy instance;
+
+ private static final Object LOCK = new Object();
+
+ private SingletonObjectLazy(){}
+
+ public static SingletonObjectLazy getInstance()
+ {
+ if(instance == null)
+ {
+ synchronized (LOCK) //better use SingletonObjectLazy.class
+ {
+ if(instance == null)
+ {
+ instance = new SingletonObjectLazy();
+ }
+ }
+ }
+ return instance;
+ }
+
+ public void showMessage()
+ {
+ System.out.println("MESSAGE");
+ }
+}
diff --git a/core-java/inheritance/AccessingGrandparentMember.java b/core-java/inheritance/AccessingGrandparentMember.java
index d555fa0..e919b11 100644
--- a/core-java/inheritance/AccessingGrandparentMember.java
+++ b/core-java/inheritance/AccessingGrandparentMember.java
@@ -1,5 +1,7 @@
package inheritance;
+import java.util.Arrays;
+
class Grandparent {
public void Print() {
System.out.println("Grandparent's Print");
@@ -12,6 +14,8 @@ public void Print() {
super.Print();
System.out.println("Parent's Print");
}
+ int arr[] = new int[7];
+
}
class Child extends Parent {
diff --git a/out/CopilotTest/JavaCoPilotTest.java b/out/CopilotTest/JavaCoPilotTest.java
new file mode 100644
index 0000000..34c918d
--- /dev/null
+++ b/out/CopilotTest/JavaCoPilotTest.java
@@ -0,0 +1,13 @@
+public class JavaCoPilotTest {
+ public static void main(String[] args) {
+
+ }
+
+ private int calculateDaysBetweenDates(Date date1,boolean s){
+
+ }
+ // find all images without alternate text
+// and give them a red border
+
+
+ }
\ No newline at end of file
diff --git a/out/production/java-basics/BinarySearch.class b/out/production/java-basics/BinarySearch.class
new file mode 100644
index 0000000000000000000000000000000000000000..6074f9deb4e25d253b2f5cdb398edb30c2803331
GIT binary patch
literal 1531
zcmaJ>U2hsk6g{)-vUrVcVh6`gLrfFL1=}@AKj;SzZA{`8371qvu8?0cz{=iu*+sic
z6#hvcqxQisd1)UKDXshi`qG#FiT;JCZF&ZXN@S}-J9FpG+;h*lbBEvld3g%pHomf;
zA!b5P!a!Ug^+-OJ1y_29g?j6e-Hrs}+m7c%Wr0{Ozi%QTklb-R84Mb>4BAH)OvKbM
zokS8d+-*(lGCX%st>&v!m_y3Mg(T*&@K&D2AdKuT;r%|drE5b5j$gPRI9}9<0$X-V
z38V#9?zwi?_M)s4W<5X3_5wQ`F1@S_0y(g72}>rHlemm`1QyN#5-@uT*7cYvH%c`W
z%RG*ESjz9uvn-h;u3|;tQdb_^72j*i=sPDmq7_Eci$WD!&7X}H&?|n&7MQC!p8ZX~
z+p>cPvgOhtxeXmBp_G~QDsFaOF%oIDW33i`Oz`ch-CYC
zPxjuxbfrT*i@Afdl=Ax|C4)nzSvY5#=zfc+43D##eK#_3(?m|dYWV%2ZSOjY{e?+_
zTdJlu2owEiGioO3x=-Z<4eMLm<&
zf5a`0nU3K;EE*eWW9!OO#M8#Jq4@)*(}w=Ae1a*?3^;lHyY`F-v0>JAShOu9FpXK}
zS>mJ5B8BT%zy>bjLwY{LGPaQ!GAlFt5+iS5jagHE$x}+U*1~<&;&_H#XDyb67z1`!i9XNF_7RcqLuu
zdWEG^B~pSHp}i((+{8yFOcNgq!Mjc}qR3qhpD?S!7A&>E7r4WfMQaClv5Vz@0S6#U
AhyVZp
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/CoinChange.class b/out/production/java-basics/DynamicProgramming/CoinChange.class
new file mode 100644
index 0000000000000000000000000000000000000000..15d03b0ca2a051da3bc574528bb62bb3a3dadd1d
GIT binary patch
literal 1728
zcmaJ>-A`L(82`Pe=cAO;(!v3x;5N2N+er&-s~<4jgiY%@I)fo0=)$4x%0YU{&dM@w
zj3&ME!b@WoqnoJQ>|z=-$uz_pZ%q6H{2RRT&MXV__nsEm2Qg{i^L+lEkN0_>KXx8$
z12}`X15n^Ipa!8q7ieF$ZdmCR%PFVxi_4`#O+X*F9lJIm;EN|_4fsjS&u0w;1S0#^
zS*KPimt5b+gbkn#Ap_wc+7S^5?OR>4YD@I5ST_ZLVz+ST-B*LG?%HMe9{#scU=zkwHnIE2Hy-fJ~`C4J6y
zt@Y~y{#uo`wo?}9iqB^g4H&QBhMX7!IBMWn5XbS7K*s@b1dLS~b;V&K@#i5DvjN1B
zFpv!51YQ>CpIUdUie0$uR?DtcVV&jlWYu;im)Pl&K%nphqcbnBGXqG;B+>$EJe!#1
zXR=zPbvS1`rRlZGV#$5aT3n$dnyVJ9m08QRCEpaPwI!PsAIkl2@G;&5izyIAWJwpQ
zYYzJ>mif0m-gbzh%u}gbm8O=3E5%iTwwan$`0$do+Kefoq&sV1b7jgE%ce1VeNdaI
zx7;$}I}T8@Ei=_Mw@|uZ%NoP`4NJ*8!4dXY;kW@Rm?(6f!{pNZ3VyZZ&k#S5P%y$%
zswu=M&tQ{2iBsfS^c=Q`sU*;(}=d-M$Xi4;nZF@qyA3xFa7Y@&F#QYOS@fT74!Jtr)6r2Rn#Rofxl$gS>co!q$
z1Dq5tTE$InypJ&M&CmPHV^Op-ZiaJpRme@3;pEsvc!iXoyXy*GC8cq(Rqz@qRZbON
z#~3S-)Hr3_X5tgB;S6UqByM2BtMLsQ#1Yw{s{uni;?6b0{X2{=#CY4W?&v^Y&%fw=
z2#r5xau(+r(~D(xNIr>}Z#vLHOX;py*H$5C~m0ubZi|SzSowE?q4Z9D%^NRkfV7fIk+WX-6B{H3W5R
zfxgK+zqII-DzvIKc*w}Qj;va0+P11r-myz&Wh{u7(5WG$V=J}^gikD0&5Bi+wrdNv
zS*cizdb(=X^Jd|ifVx;KUoQ!?$L2C~nM@|038EW@h8`W;u|uHi86gC;x(ryZ3MjEm
zd`5=csUwVtfUj5=X!G2~GaCAs?c5yQzKnhiyLG&RJpwOnP%vdWS7=i)KV~{HFNM8$
zO+!pa9EleGhGUge$86hNTBLucMzn+?(8Ex1j|i7hPfr%Qu}@+cBu}xY_r0W3I`-pr
zfo`+lG|ckFYb0io#9Xvon)_nRJVRod0XA~TT8oYw;_Na+f8}Ru(SIrUi2t#v3}0;utwJi^b<;
za)FhatQA@5&a71}ooQ4qmF#oor7|_!vbBO)o-u7p%1x!>T(L-WH2Z?~8KcvRX|W4f
zglAFAebZi`o33YUv*|x7SqoR#$iBG@rMg|aY*7;D`KLl$<=S}{iRHf-jZDfVoJw^VOIOn518J}~|t94(I1^wOTU7OJMxuu0f~7q-Ro
zJg8Q+SYnR{^R_YiYAJR%+a*B7sSMc
z2k=nFYIN(OURS-Ys#jHC-yfdUnotWN4B0xuX*rIF3kz$cCXio2=-Zi
zFA09AGI=#i2U6dPLBdQU%wv&6LMs#hk#;dsQ^IcekJ=%@y~$@fmKSQ-WLn6{^mKli
zso|(NFe{=}W-LZxE2GZuI(v8K9_BB22L*czRD=Bm*4~)1&|qx9W_)6N
hhJzQ>@QMv)TEAu3#1==Uxsfr={iTq_{x(Mznm-7uMa}>K
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/PrintingLCS.class b/out/production/java-basics/DynamicProgramming/PrintingLCS.class
new file mode 100644
index 0000000000000000000000000000000000000000..ef6e9b8e7a6364524b23bdf9ab288b8b72b5494d
GIT binary patch
literal 2149
zcmaJ@TW=Fb6#m9u@7iW_sbL|(B&86*PC^W68!kzq!IWaK32h);(n}`xl5Aq{TI&rW
zQeRr-A0Sl)RTLqlyj8T7NW=qDANtb2!atzU^joi^Bz1)CojG&nT)uOe9sm9Bi(SrJRO#5|fiTUoW9!Cw5VyI4j*z+E-G!bT*FN*rTCCM<@0Qv~IvC
z$hw(|yeAMz<#K6S*@rF--8$aKeu3`ui?*y-#jCC}+6$gl&WyUQTqKUD=d9;+cZ%?v
z5yUZw4>f$G<6{g7?5v~S>PJAU=b&s8NUGU{U)PfqD%`#_dgJExC{A;6vvBFw==Ixv
zwnucf3OgWHbSf3cu4nb+Hg>kL+{|LdvrfqrXvzp*q|g#wN}d#cPXIa~tu^kp?e`EeE4vA}h<~amzD@qxhPs6+%GI*|zCs%d%E8
zYZ|5m4mHKL9b^sDJm&8fWjTZR@Bte(#4`>k;NgeL@hn#v&U|+v(z^oj8;KA;<>+sd
ziBXPvgFc5WS24fo$)R#6N4Y2<4kxri?{mb?^l=zcx|AtHQKtSvTj+EoJfs>bIZyCi
zct|ref9DD24D|t`hV~F`oe@JFG_>&8GOqL*s#1E6_xcR2K0n63#%v`4tp(5>63
zyBT$tSCiq9Wbex-Fn-6O-sIpa*j~q%1S|T=@6;fd
z2_gc9n8y>?#d$AI)#Kew6Crfe@zFCg=VJzZd@+RH@bJCH9+G3Y+VDFk|F6LRd(grIFiI*o7_ImMUvd@3IL8pK;X3CiElu$G3g2)QC-p5Pis<|g
Dwu#uf
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/editDistance.class b/out/production/java-basics/DynamicProgramming/editDistance.class
new file mode 100644
index 0000000000000000000000000000000000000000..c1267b22675643ca29a0271fd6cc3a21c67c47ca
GIT binary patch
literal 988
zcmah|+fEZv6kVsCcFH)=G6-Inf_Uvkso>qJv7s?(QYf)NVtny1os_{&OQwSfzv7c0
z&=-9`!h;{+M;X_dqJ>~$Gu?ZieK~urJ$rusI{pFRCCUb3i0jZyB#;!y?8;BF)REnG
zsj%2I7hs-AZ-#-_Z8P23kwJxZTCSE~F))F&j*N*(
zSOW9agRb;FXFce(1L^y$D7h^!ta|-Wb{$tB=2ivrx%vpl@Z$1$Ppy`(8MugP9Wy2_
z;j+NQsBBe+JH*Tu0*Rc;9m7@3>aa~@F?SaGK|geTX7~09e0tc*>y_3?DP(_F`sEa^
z38b2pjm@{!%DWVaGsKsJU!Wt@K*to349Z
zcWvL_c7qMM-J!>-_Z->Tl7XkrCr&Ng@%jP__5Td8%nA0F)Fq=yoD5J!mIVYMh#LRo
zJKhYX^Kn(~{psRMHLjW5`}5@yW*M}JV(K4Z0i)U54;=T6r$|hmeyfWL3l_KvF)ket
z2VV)2lzE;?)Pg!u_zv-vMhpc?6;`Q5N^_WiyST^GnA#I=*4WLz93yF(!*ZPJl
l*1WZlNoA5mc8D9JiKtH%m?eAr)Kn}y!BhGLo>9i|{5P&=#RdQX
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/editDistanceOptimized.class b/out/production/java-basics/DynamicProgramming/editDistanceOptimized.class
new file mode 100644
index 0000000000000000000000000000000000000000..2d46f5dd7561faff3f77917a6c482c28797e02cd
GIT binary patch
literal 1209
zcma)6OHUI~7(KV0M=1l8;(#Cz!3S;8RzOh!5dtAL0ZJ^85Msj64rP!&QU(pKN!<7Y
zjEMF`llScv=KN2LzKKozRb_$A$dvo2jv$W1{
zFt9mMj^gBF(@g0yv2A4sd}tQ%B}ZmvpN@^p`_Rf#lCx8k{kV#D9UTU);krO*Y%^zN
zoz!$OpD9{d7LbYAX~!LN)?F)?vJ(Z@$vUs>w1CGR69|V6^Od`E$a3I3A_@3$6P-Fj
z2EvF4)Ll@ffL@SAuaUKE&>XkXeA*VMnQ(IU)JAs6F3wm>Yea$*`INObXB8cJJ^~eY
z#aS1KO#Cm40Rgeff1H1Zl-9dtJEMVG0S_iZ#CdB{yk(^W}FY1w-OE2r^)
za`af6jvk+Op$Pkx7hRumw^)vl`X>(#Dp(=?jEsordEV1%m0!nudtLvBN{9hHqDG
zFZlVv!9ff?&^5$$^rBB-e14~4)t${{ih^z3vdxu2$zgx7nno
zl`^Fmjv=98K*tLTrS~w`g5}>}6?N;DIy0zaNF4|gSi^A|*RC?!>EoIG4`KES9fmucAWt3Hjf+Sc1Fj|FRS=f-?OdyObjn!Lc?htX=MJ1
z-u9hZ{*vceJ2wR)zRR<0Okgn0gdLbRlN~=XUdE(`Gdgm}3k)2Qhjg^7t~FRl`gw@V
zn(FYJjw#i8#BKUc-PyGj@&yGuEg;iumeUotLU#MgPQzZ@u5Z}hd)9{HJ5hEwt=gL9
zIcnW?O8W*1f5;_eoAdBwbs>owQ)
z1Ok;NU6w~v)-8vflCPs$<-X-ri92w_wm@vv-S#%^tB&ew@Hu7W6ulTFT>&Z`ls8L2
zm}7yfJZGW2*@qB6(Foubj%r&SeU+o$wO_+UuA)lR^r+yUc|vk7nzs=#6|FoRh}vj#rmS=W&W0jAEXRF7m;yU;-cD
zG<-hVPicR_XYvhWzGc*HoW=Jz*XDGEH29=Nu@=Jn#JWUFWBd%co~0@be1^-kB>DXM
zU+!DDLZA9;F{k3b2jAgMR@dQv3_VW~*Dx%eKoh;uzP@KlVZ4Yle(4Enfft
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/equalSumSubset.class b/out/production/java-basics/DynamicProgramming/equalSumSubset.class
new file mode 100644
index 0000000000000000000000000000000000000000..2c0308e4f67233de6763551e4becf2af861f27c5
GIT binary patch
literal 1863
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
ZSl}o5p3`gfKGL|)QThemYj6Mn
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/knapsack01.class b/out/production/java-basics/DynamicProgramming/knapsack01.class
new file mode 100644
index 0000000000000000000000000000000000000000..d5d58a61d60867771d8680158730b1de77ca8dd6
GIT binary patch
literal 1104
zcmaJ=+fEZv6kTVobSN+aMT!MM0o!sZR3ruv9wbJR)*-2>5`5s$PRc+pqzt#{pZMYj
z@S-M4jNt?PDC3$L5;P$;>FM5U@4fb3`<(vz{o@M2Gb~zApqkL)&|wJJ`|?EQ>atnO
zIlKFA#TPJEyr$=`3aIH!Iff3zOjvPrBK}W$>HNrd8_a4QvnWvriM&>Bv+XtglHYb^
zW7$GCdQ8}H+(ECv@cMaEHoVGayH#t;M#E#*gQh$@l9hwGd4bNF>lfu&S=NtT0V}<|
zvAw}hX2U{15+(-XxQju7zFT?;n1?~B@GR;hK|uDCC}Kw;0#70d=p!WeH&;cEd@kPQaU`}A`B
z75vq+-yuHJP%z3f2nVTSJmXOU9^fIp7{)O{gvCN(o=NP3`P14`ZOhrx?6k9`+au1F
zVdtGfh<6Y+1JodDI7Qo9HNyOrAio+!&YUGJ!a|Pzh+|2&^NYq8m{Zg0uzHEEZ|I|!
z)RMZIFs^}{nI}0LIL{!T_YCbhKJRr-{}x?%haT+1#(O^6K-0@;ZcO44y+KrwMuw_p
z;2=v&VRZphnC1@F@sxN58kxp1OG_u;C|5U4{juP05bXnB$*PlYEtS3c1S6qc3{RzI
zs~<6uol0ptp_9do&Z?EQV^RVW&K@C)d>
z)(b0Lvl`X(ldauK*%k2Lvm3U%D&S3~iUIT?pdzTDAKD+=3kNN?Qs=H_n?=L<4v^hU
zZ#Z_tEx1m_sxJo-LRf{aVGxnC>b7gw()S(5I%o;>xlQi18&!d5axjg!|{h%3)m6LL0bBr--k^9E5Po;b!;Bc^O0W3;{iC4D;`$#V;&g_6Ifu}gT-I#
CCE>FG
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/lcsReeatedKtimes.class b/out/production/java-basics/DynamicProgramming/lcsReeatedKtimes.class
new file mode 100644
index 0000000000000000000000000000000000000000..271b661f7744bff7411b648ebc781c6854a6680f
GIT binary patch
literal 1939
zcma)7T~ixX7=BK&*%LzeFu1LJN(;0JAStL=ON+LtZDW&C3#HC*(?ha_h0QKzms+Nm
za^Z#7jxtVVIvu%1XYAL7H;y;{7yp1(-;G
zWy@KjlWjUn{&LkRE74A2VIdp%CF1D7>$E5=tMYlq*OJ*(CWa$8D)B}fo#+y1-Gh-=
z)i5P>Pau-aW>eV&k@v*Wi#~y)CADg1T&JM?Tb92}$@7)tdjcnuncQBK8m_5SqpAu0
zI3{sCjsXlFX
zVGL=BQ*n%ALZG9{{vcifxfYEC(EfN^Y{STf~0%CpPB%~*hqU2(y6ea|ne
zwY=#syG5@}$JH2e$V*%cT5(2TaF2%N+;vyYbgk)X-FZnBe7C$I@Xh|R*9~hyuPCQz
zo8Dl~bywHdrW(2I(;RS|+gLLXG2c(Oc9;+Je?3G-+4ijEn{4GzSYIL7&soPY%NbjF
zp6N-KATs;};ztT0yu&eA
zrV{URjMwE!yvJEnaMGxubLcYdqJT&yWPbQDnx;oMOlrN_Z9~&;|Aw~EnMin2H*{(q
z;*0R4G-R;y5T6kl)lRo3gS~dD3XSji&0-ceL55d_B6$`h~0YT|pP+
zC}&L^V`ycSyLrE#pfrItoJBjXAb~|*-}hl)i~4P@|3Ir<^x!AFiJy6wKErYR%DeOr
z4B`cbP~i<3K~i)fCHgTUPT*8^5AQHX3ZLUN-iJgVzQh?yda!qxVmAI!I!B2&uo%KL
zr4YY9{rG@(VSabI@F67)-J%8Oi7vwYUOmb)xb?^v7-$?V6{e69vD!}vi8l7r3&cdC
zd7|%6MEGm|o1Z}O7p`_iScD8N)|!fmgAN5+$uTjM7pM_qAs$
hKEfsH!??^b#NuW7jxy56e6HgLXE92%xQScn{1-Y>wekP}
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/longestPallindromicSubsequence.class b/out/production/java-basics/DynamicProgramming/longestPallindromicSubsequence.class
new file mode 100644
index 0000000000000000000000000000000000000000..9514c7ce4b66a852395407893417cea1fc018d9c
GIT binary patch
literal 1510
zcmb7EO>Y}j6g_V~GO?L_;4o>EA*3Ia*v8l-g#bw!NYe%kP7}$MH(k&dd*nl^pFe&I;2JiP
z(4bo|Y?v4j7~PRy%0eK+dSPR0$E(Hy151AB$IAkGI#Wqv5D5!O8!y2=1uw^uAJz#E
zys#c`ci=?}!!+*PDXO?p8!sb8M0Hz6E6i-9i<#9VUV&p_+{QVa7Z~mnSeKnN4S8R{
zOc#q8W|@R*;Z++`cuipT#$G5Jeswcy)+5!&=nja=E?L^1f($
zVbx=zUD8xtrO7H&N#Fu5TDWB6GG0I3&t5C`8f4#W6Yi8cy!>WiQ^m7cPc{~lcmp#Q
z(l#>4o?5wJR}gOEhh
zFQ&*;1~Dg)tb5+QR!faasCR6bjBwOONVBPBod
zZnYa*UUXY-1@xp!&8iG4GV;}b&uPTlKD)kJ`rkXVC?I@(MSeR}y)JiYl~tYoiRekj
z1uCJ{h!`rzvU+b_?)C`iGKxsLA$=mK_=~|A)s&3tq&arRGG#0`+fmh9^HrCZ`{JE-
zp7M$tE>dlc*9kDd6NUkf3;Zi^7M#uOBZwbqXjtT^mg&S2N4sZV!!rL8YRBkdu((g$
z0DVugN3fP$_ZJLl>-zGPdx!&l-k6#<9h3Igj^UUG7|uDyoMRdr572T<$EX2oeae;|Lo)AJgyzUt3Jl06S$48xel2=C7*X1TV26pHlThJ(*>9w8?16jw;QTsmnON#fSKaf=}QZtk5!vJj8WcIx$bMiW{6wJi<--1gk#88ZjC^
zrhgKN=X{$i42eIH6yn^ac28lI;*4X9|r?DZ*;&U3@|!=nzRj`vaPI#@8=F1wQT7
pU0{HM+N_tFJ;v1|yw^WL>d^-Be1i-BIz=`
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/longestValidParanthesis.class b/out/production/java-basics/DynamicProgramming/longestValidParanthesis.class
new file mode 100644
index 0000000000000000000000000000000000000000..61058adeabceb3aa1a4a4dfff13b47101fd78bdd
GIT binary patch
literal 1665
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
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/maxSumByRemovingOneEle.class b/out/production/java-basics/DynamicProgramming/maxSumByRemovingOneEle.class
new file mode 100644
index 0000000000000000000000000000000000000000..e0e80e39c6f7c02a0475049d0d61d6f97fa35c30
GIT binary patch
literal 1400
zcma)6TW=dh6#mA0nYH6w8Z!>TKqNWuwV?Ko9@Onzn2Ku%Rv+*rv;31WirsQXE7{H;H{O
zT*~1YD2ZYob9na2=}{64n(xQ4x3eYSBtzN;(WXGLe7Rj2yGdgo+8gAg^oILBv4H|8=2LehJ4Uj^}X#Cj~0!b|NnfdY9tiX6%I_`I}6-I|@J8`PdJK
z+XURmKR@tUy77iC2;*z(a9-B2ydq$h+m%%=9}fF8obCjXe{mFU`0*#+hCVvm8TP!v
zsuu@ZKLE|-YQV%7JO4X|B>@p|v{`H~js-H8DGDZQQXPyJ!sgZ})S3=>tPwQ4h-{PH
z#Or;w;$2UJkT{i^1$4oxA678#d+{bu77p1K$aROKxaVI8beg5ZOV`jhg=4IIhHVNM
zU=3k&E>mlA6k%aTQ8aYDo4Ym)-v^ErFzRYTT;o=clbz|RV5qidfJCiYbC4y1fHX+97bQ~yxv&X?DB>~w%bbHV!}pRqzEO-4z(=!j`@ry_&oDOCt2+&
zEMS@?JAyYci}NVpQ$E8hP#BdUx7o+egMM}wT-qMb^Pz69c@(%A0fRqpaN;!nIrEW@~d$Lo{~djAz~aMz^Y
zUl>_~S6Cxci;~RJ2HLofV*2k1QH^A&T&!h^H}-o?_mBd|`#
zy3I~HcXDgS%p-Tr%(!b7hb`ST>9`$U(&9dj?qT6+w@ooHkanJICm5zqv^e&IW&T;g
PoryF(-K?jnXK?0k12+`E
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/maximumCut.class b/out/production/java-basics/DynamicProgramming/maximumCut.class
new file mode 100644
index 0000000000000000000000000000000000000000..49d702f00d69d3972dccf5d474aa2befc90bd4d2
GIT binary patch
literal 1960
zcmaKs+fy5L6vw}t>;;wp;S!W&!=(ibq!P7|wxp#+S}YhO9V*tr2bLtl)?9GAsnR!R
zI-}!*PG6YXk+Cy<@C6?9K^e!<2jBWv_;)b%^8Nj?1jcC%?Cv?gbAIRY+4I|{fB*6u
zfJ<035kSy@8iEF0LHM?P*G`q}%0_Bw{dO_$DbO!E6~~)a5KN4&m}o+?0W*XagcQWD
zZddHGlh3);4c9K09qudJpE~7QdA7#AEmCpr6{Th*=J^|)H_?W61K|)l(5ay9IOn46
zZ88yeDbVOGe7g}b&=bN-c=@Qln&*^KGp=iI-%+4`=#)w
zjMin(&VRIMZ~37WhgO@{I$O;j|4U{qbs!A?gmqKJ;zM4%hj5jFU~ol>-OUb8W&vo-kLb2;-`aiA@3<_
zDQXIz+St!fexMM*YrYc~@jB&D-2rdlEVX7awOkRKe`gpmBbn$UXu-Ycx6lH6(O4m7
z#SdUats^1s3kPWBe_D;G(ler}YkS-tlqttx%J3?mI#ZZv<-G$jbaFsCn6MiYh#<`=
z7G+J;Q}a1VjYZHhDND`Z93|0h2InaSxi^FhlvGS{wFyC8dxlZI4>6SWW|Yg!s?)j~
zRo8wsr_^3GaDc8}H5gn{(^^D}KEd5sM0*0OSB+?~!g%02bO@22QeRuLgn3A)mNfS^
z%+%L}GS2>&;tjX>f83}ayWQ86@BjI-SB;Jb9t*reI>wbI9uSTJi&7sU4Nx1z8JuF1
z!+0AburUgk@V=n!D;}DM1R>B(v(X5)iDyzm+-*SI#YL`(f!O7jtqyUQ{sN+b9bCp0
zA7U8#U*fAWqYRCV971a*Odd-gW{zG4qwKsGW;K}BCC{kOk38EWy05IIbxBhi>ok3%
zK$+GhLusrt^o;^wT94@8z!ZTZ`jVvh;6)Ut(atK*vepSwOq1eyQoKN(Q)HFl-!!u9
z`WD`VgIUxthtKHqIp*;I3zFt_?(Rcg4w&HTHn{FIxb8H#?lidWG`N0!f@=>9pX)OW
zE0%SL7D=~>70lM@;tysFvhKyG%E>VIquOH_-RRvHv|F;tpqWdmyfm)m^h*{;cQ9!s
zEwzwJT3R7xCoP@#Zp1#$-4Afe{!B(w`wV#UB<7gp2EtfI4{jogciH3$hKM4G_gTs<
zBKSZ87~sAUoR)2iQ@4n#92julIW~5UMT=9{2GwYit<5Qi9MWdIh3kGpH#ml3==y&|
wJlw4}h0Oz;{s|)|)H76%zfWzl{{r7$k!5YlGV0%{ewMYsPzq0g_?l(^1q5t9)&Kwi
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/minimumCostPath.class b/out/production/java-basics/DynamicProgramming/minimumCostPath.class
new file mode 100644
index 0000000000000000000000000000000000000000..14d90146a2be2ee9da72320d9858c9f82ee3656b
GIT binary patch
literal 590
zcmaiw-Acni5QWb+KWk&vs`d9uMWrg(2he&`5rklcNTKvZkc5lL7Cg2|HSZ5~!
zR&}o>F(pvwoJ)8DTc;1PigfQXP5P;dBF!!u9gU(!a+h7IY#?AalIu`l&ew5xF^alj
zdZoHUW)}RUr-m(+Y7>7a?QEd$1h)PEM;~!^q;xE>Tu7QSB}N
NWvt}OuaXq7_652QcU=Gg
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/n_stairs.class b/out/production/java-basics/DynamicProgramming/n_stairs.class
new file mode 100644
index 0000000000000000000000000000000000000000..a4e82bdff7155539d4c7e77d4d8356bc19609be4
GIT binary patch
literal 1125
zcmaJ=OHUI~6#nkaw9}U1Vav;QsvxL+Xsd{51Wb&^1XG1r0}G;XX&W5qgA7v>_WTK5
z88l(z1{X?Puyf;I@gER;e0N$RMq)B^@44soednBezy17j0AL!oBG90lFf0TR6zEx#
zuVlU|>#Ob^p%YyKi3eMCS#wHrZe!Jz
zwVJ~O^`%WuI_{=GV8eClDpiV+>G?2vaK=Q`LJYlsVHUSGy-JM;jV9gu3O*aBk)KoX
zMbE9s+GGU%7%(wt;Vk0E(M`{(=I^<#+#+1aYtWYz1o~41Y^CvwYU!E7M$*JN3+FK;
z5IY4&!1P&H>m-u;H${40wcvt<5sV6iy@n^N3qHJ&nn}+H8220Hia>Y4saKvfYbzD^
znOvz-6D>4KvN|taN1fYB!+YtFdb04JMotQdHU3O49R6gcl{W-Bi=Hg4Kb9NqT)K2!
z;@6}@4|d=*^0Z5Lm58xZ%mR^Oqv@6^4;@9g^LUau)h7(IZjHAGFu>U&$n_#mdG3OH
zAoCewkAj9vT$PzhT;^)EMumTazP`?o6^k7rz>j`>SFPRbqJu%fFZeX0=0ynv8nD`CSn$j2m
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/ncr.class b/out/production/java-basics/DynamicProgramming/ncr.class
new file mode 100644
index 0000000000000000000000000000000000000000..69af4054c00a57c61c0f5f86a582ca9eb07f0e4e
GIT binary patch
literal 1340
zcmZuxOHUI~6#nkaZKti%Qo%u-vDUXOVypPJs4)_g8U!PRg~WuRZE&!!41noD9_i^qy-}%mWPW$Qm`wsxl;%ovMbOX{v1W|$X
zf_vL7*4^fOabj+vRtW^6BVN-B&I#zb{B!~_#0?}&Y=SA!Kf2s>8(!tA-7_Mk#@<7%;HSgbn9c^itr}ix+&~U0xK31ugoL2-)Rk%J~jVSW(ALj0|=d
z$eP%RT>^a@z-BDwz|IzsF*u~(^(sJ1V(+kVTf+*H{674QK8nJed~xm|2k
zYXUuEUb8m7)R?RJQ|?@ymfo>e#jQ`fzNhY8qYQ3(tYTnnV`WPMf}BK|U&@@E4BX1C
zD{i|REf#3^1hi_K>W3w;fjMfgnCPz07};<=LQtHI>f*cW&yzvl2G1;YvbE$_YL`4!
zK#Z*}DD|+5W1(@Nz$s#4M7id8D{>dgI`|IaH4hr{T-CF39pq|u&j&HYTU^Z*Eh_j9
zWC)tKa`sc36l}vQ=OY9Qy?#+S)G;s~rlnj-367q;^G~%h=E1
z=_jNmo#(iovE);XTXGf2q0F!)GZU|Hp2jELyX3uS$=`SNo((;RGP25mLU)(d!fbC(
zdtyb3S3h2^=v*HT*~3oZPq~-)n*xh8SY!&@_{(yTRg;JvEG~=V*oiZ2(kOQ0GWKAK
z^2r_1_bGzv$1zr$#|<3eT{7kthI!JJ0>34D(3LEUMI2>DEfmkjCLjKf#usHgNGx*^dtT#vxI>YPee~axag7tk?qtfYQ
zFG+wDVobD!yGmc;B>68Ef
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/numberOfCoins.class b/out/production/java-basics/DynamicProgramming/numberOfCoins.class
new file mode 100644
index 0000000000000000000000000000000000000000..004908cea6af5d3204bf345e78c46f667c482717
GIT binary patch
literal 1184
zcmah{O-~b16g{u=@usDPTAcbp6;!|}+SbpiL0qUYHUc%l5D6|A%2)>5862l1#)UB<
zZd@4GCTet{3pct@V~i_T{v%Bg&kRIjV&Y=nJMX@G-#zEd{r>CoR{&!;lR^TDgqns1
zT_C$;uh^BA?KLa)`6Z_j3g~BD&kfHBC{}S=!VuWDl~nUWr|AUB{q^$fVJY
z9)a$ytO+|@WPRK91T?EwE7p?OhMYui8rxz1)pqLcozQ7B+wZWsIUc{_`jxAJ>xENc
z;Mnca6n0>z#I7`UqfcPq;$6>fyN#=X-wf`y|$mOVQi@a5n7?D4l2q?Mt_4z4ekW)+m)uy>UoMs-hp>;{
zCpbHR0uqDHbw5uP?t;5E@)6=4K>`Q3M%N5tkZXDq4`G<6Wc2eGVX?T)yd+~!3hLaK
z)MQCf>S|Rr)xs;>&LyjwQq@hp?_;IPg+82AjS*0~roaH^uefAhI~ZoRi35g12+X!)1ogoDK@O$C?M|kBzuNv4gn68Vi!^
zWfX}F8ZwI!BAs;$eAl9J8H6}Qq(=7OFiPAbRAwx)_6eQ0Xts_=>|Y|=ql^w9xrU6y
zF|mfU;9?3<`GM}A(0-t+>%1U?<2bQlKOXY+=>2kb_gQ1i_>!7Y^!kjNmGv1dOQdJJ
z>N7HH)Fsa^w2bdFgyg*@i9&_3vp?LG4T--5_Bd(abaRCpv4;L?y;v)`4ml@
zFJPk!H7@)BKgxKj!5HH#TvXlnJ?Gx4A3wi+2e6AB3kf7m7&cN^6UZOP*RnO0{-m`x
zJa9*mz*qwihY-C^yY~7vv(o>`TFqnkW^Azj+nKyL9z2}d7^=jrm
zmh&S4<4r75PPg0arf~{66L}k_QTPk8KR=3Gk4V9cz@=VHMg^_?Q29|m3SH^7Eo`7<
zqHLprszC9C90BuCS4@2(JKg4h;!ZGj1#&&*yANW559M%5PoWo#K1
zfwQ#I`g!Tm#UEhAO*^$?RO-hl){JreE6iHm7*jl3(3e>m3+7~2@kQ+&%=&wzjD@j?
zaWv)?_6AH6T}PFA0~Rh5%^}`3WO1FJ;|6jur}7dP=Ww1iKnI)D1jp1JQq@ex6l`%3
zmsV7tl4_E{jkS)s`w3YxY{Vo#qxfg+0<)OI<|S%n6#0|%3O1Luq_agUfda{DI0JcX
LQ%g{H;z;us1*@H8
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/optimalGameStartegy.class b/out/production/java-basics/DynamicProgramming/optimalGameStartegy.class
new file mode 100644
index 0000000000000000000000000000000000000000..9909b1829600cdb19896f14dbd0563c6eefd9e0e
GIT binary patch
literal 923
zcma)5U2hUW6g|U!mF<>7v9uPdtsixv3Vu9RebH!0Xla5WA&p4~*wC#kOSW5Me@cDw
z2lPcvv@xbXz#nBivtSyNK1jmM+&lN4bM9gI_4~&KfMo%@o(L%w&5|#z>SCFxItf+@00o|>a+cs8Ev`})eiW>r%%SpFod_duWVldnZ
z{tDI{tgAwex(M+i?0W+94S(eA90y%5dLz3-W)>P@PY&BM@>M)d>hXbpB;YpwZ^A9&
z2U5`#+`Wl&$xlGr=*d>O&3hRQh?u|Pni6Fc38ePw0>bB4?S}$$bg=hsTaKry>{fUj
z^}JWU(!G3z(^cgOr_S(EsE-C30+Z`4Mm6q&yHWWL@tKDdZgW-Fs`L(5XHtN>*kF{#
zJ-E!M=C=e=pzG#OyQ3M+j-EA}9m8xkzQEelHZS!4Ip)40e+ir+C}8oe%wUbsil8t7
zK^YZBIb^Yk`=md55&N=d4-Q!4iLPnfF|tCdpq9M{i^#`q)BC1ZSwd7e+Pnw*y^
zMSZ_S`bx2s$T-K%Gu1Us@3Z~y)xN?ZxR%Ub;8dUpB{Ii1S;iv&R7;7}wTXyCAdAq!
c15^`#I<&INK^`(|LeI_4=9z!QD22y=0AQE3RR910
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/pallindromicPartition.class b/out/production/java-basics/DynamicProgramming/pallindromicPartition.class
new file mode 100644
index 0000000000000000000000000000000000000000..05bf09e58b4ed9726740bdaa41f839e75e5799fb
GIT binary patch
literal 1562
zcma)6O>Y}j6g|%~AvB%bU
zf>bsvu!O_{i6twlAQU9Jp^G%IKtc#1byJBS!GEBlHRstDCTfweHTT`Q?|z(n?wfc2
z@sB?NSj2h+0Vq0D0~&$?LwnYTR<3Hfm0WRW&o21_!3D>4{3QV;nc9pXgs_f?fio~p
zxo`NM<5uWiwcU!p+i}n97@)GXm6vft28I!%M`_pcmYG>i=2I(j=d1w}BLd;(!A`T6
zXC#@=rwV;I-Tdcd_o>i+6Lat#|tBzat>e6m`zT-P}
zS0L&%*Z3u0
zORP{YS=CL;bL4x^sQSB3Qy^XVznsqthM;h>rbcHR*POikTBM*IY$U;aDMa@Q+%p=hdeK{IG-hnVTwx-zSF
z)?ju!V+Pf2*3WLAV6xZ>ilg@LEmgEMDqAgu@SXyNjNuc0+n-|`ce$Q0=4ZzK#&1s2d7YGf%IHNb
zk>(M6hc~FHIFE1fCN+)uf50*|h29VF7FM`wxR0x}31<2QZ__7$YqU=y@|ahYj;MHq
zh!CSwk+Hvcu|344KM{J!xRAVOx&y-(%qg=bl?6F6wY-=ZKSUy(kTV#k_zIeGrzJ!y
z&^~Jaq4t@WVjjk^YKlkTBI{?EcLozY4wLL=8kalWO?LC+oet^%?bkb~!{jYbt&2Jg
zYqyk1+3C8utpg`@o%mF
BIM@IH
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/playerWithMaxScore.class b/out/production/java-basics/DynamicProgramming/playerWithMaxScore.class
new file mode 100644
index 0000000000000000000000000000000000000000..b6f44e80671ef95fb4ef8362464921565a93bfe5
GIT binary patch
literal 1409
zcma)6&2Jk;9DU>6_1cb|I*FaMS-Zq7rTz#uO-m@GHKITzBL`P9O6B_EiM==*{KaNn
zCESoIao_;A3M8b6OD?{^0V0HQP?maf&@I)rckQ+(5WM9K9Iq^(Wpi5*gb+3niDCv(f!VY6P3i5h
zr!V&fjBKTntEk@DD9))yt?vvXn8Un@g(wn83S4>TU?BTW`<^@Oy0XuPZfVq$2ey0P
z@pd-le!V?(ZGm&H-5$Gp&Tz14dppC9Kq%X+R4Na06%$K5y4kFRaRJLFtSC}QKf|Ja
zu;kPcQ=i0Kr5y1;sF_DSl5-tlYJf}y%9H||>fq
zC5o4DRUptAQ6>c{S7G_>VMoEPIs^Otaev!(Kakr!X6CEIw(M<5*HQ6lQulV8J%Ov$
z|E0zTiAdMwl}+Ac?0M29D?wkg2UJG)#x4vx1F8%lO6_u9AP^?sc^$S>K6jr0djN1Gg`*hltl{$o(w~CXL
z)zJ@OrN2UqVLnwnhB^7ii%po%sL0Y=DeV~X7CZ7*O7Hl=w3j8FB|oj4W5g!BL-TPJ
zIrIvHfe64AFm?pZ`nZ?U3xigXR-Qk+;TPy1|*6{F+VC`j#*E*=@;=;=3Uqg6h7`nhF{
zzQ)X|wq~(uqAX856KI`cfKSjw8ncvTnGY+26;i$g2ba;O{h0YrSpSrgeMVWoK*1NP
zOp0^tdX=K+6!1f=(=#ZH%VQRTqn>QKAFYo`PjfM-m`-9K5#Ycw;2ae{u?68
B0U!VX
literal 0
HcmV?d00001
diff --git a/out/production/java-basics/DynamicProgramming/stepsByKnight.class b/out/production/java-basics/DynamicProgramming/stepsByKnight.class
new file mode 100644
index 0000000000000000000000000000000000000000..70f920f9af98560dcb9d0f9149e2f77c20ab972b
GIT binary patch
literal 2746
zcma)8OK%fb6#nk@*poOzlMw9S@Cv3hwv&)H0T&1a%G=;Tz-dwv9vNaQ4Dky;prNI$
z5Q|DhNL9NiAXNxeLPacE-V~`~(@n*;Qa9c72Xxg<7lD3vY#;^)$YbWrx!*nKJC8Yc
zet-PSuK?ELup1H%9hw0rTmlWp%oAo;(o9cu?KyHRFS!`B4<3Q~=gjsN6U78coAJ1SClGxx
zu-?+v)>O7IWrt~-U0`4#771v1>y$DS2u75*B?eltl0=6^(Kf(AmiX3EW{4poj$0cRi*2@a{Ob{TjV@7X+u%%sJb
z7R{cpNN_|)4>^yHj?`im!aCkJuo`PB3LKkaEmA~fiY$bu6o!@Q8pv7cLadNWn5kan
zy4S!utQV+Z{bH(m0&8aXJ!`QdBomCdu>l)(d|+S`HVZV_WvO(^AhU`>GR-Up7(Z{D
zGjZ0Sp6!;{T}&NG!=r&%Bvb-HT_*AP}h#GFz
zZV_Q{%WX$kdjNg^UDU31hT8AJeE}|ycHQR;-A9AOu+MoPUV)49oRV4u!mhKLaD;V_
z?r~j_d8J(}@DTpBHNKi#cspFHZh^4-0sQ+twc41+?Tp_=``S8R-NJiVaREJ@O5LsW
zJr}XuS2xqGudd|xIYt|tVQFj@OJi?fY3!M$cy&(kH{evlR9LFQ$ws|~Qwj6bl9QaY
zmn}IJN_(}XGN!`P%NZ}BUY+qW=9wkdPOD-`)lPejr4pvXQkCdz)N7(EVYI=sy0|)h
z?&@?_US~6FcC$a`Bm-*TU~?OA^8l(tGo@CZeIeAN2Mq}Gz}Senh@uHGB1YiFBvEI0
z=zIkq&SL?-<1zCCciraO_K36p4=lr