{"id":20900445,"url":"https://github.com/rahul-ghadge/demoprogramsjava","last_synced_at":"2025-05-13T01:32:21.019Z","repository":{"id":102526617,"uuid":"203594187","full_name":"rahul-ghadge/DemoProgramsJava","owner":"rahul-ghadge","description":"Core java, Collection, Multi threading, Data Structure, Generics, Java8 features, Streams, Functional Interfaces, Reflection, Recursion, Comparator related interview programs ","archived":false,"fork":false,"pushed_at":"2022-06-20T08:20:37.000Z","size":316,"stargazers_count":16,"open_issues_count":2,"forks_count":12,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T15:09:59.222Z","etag":null,"topics":["collections","core-java","data-structures","generics","java8","multithreading"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rahul-ghadge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-21T13:50:13.000Z","updated_at":"2024-12-02T20:50:38.000Z","dependencies_parsed_at":"2023-07-09T07:30:53.022Z","dependency_job_id":null,"html_url":"https://github.com/rahul-ghadge/DemoProgramsJava","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahul-ghadge%2FDemoProgramsJava","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahul-ghadge%2FDemoProgramsJava/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahul-ghadge%2FDemoProgramsJava/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahul-ghadge%2FDemoProgramsJava/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rahul-ghadge","download_url":"https://codeload.github.com/rahul-ghadge/DemoProgramsJava/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253854069,"owners_count":21974221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collections","core-java","data-structures","generics","java8","multithreading"],"created_at":"2024-11-18T11:19:33.705Z","updated_at":"2025-05-13T01:32:21.010Z","avatar_url":"https://github.com/rahul-ghadge.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DemoPrograms\nIn this repository all Core Java related programs are added, which are mostly tricky one.  \nTopics: Core java, Collection, Multi threading, Data Structure, Generics, Java8 features, Streams, Functional Interfaces, Reflection, Recursion, Comparator related interview programs.\nHere all related codes are places in respective packages listed below.  \n \n## Topics Covered per package \n- [API call](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/api)  \n    - [Rest API consumer](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/api/RestConsumer.java)\n    - [Whitelist api endpoints](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/api/WhiteListAPIs.java)\n- [Combination](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/combination)\n    - [Array of Combination (Number)](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/combination/NumArrayCombination.java)\n    - [String Combination](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/combination/StringCombinations.java)\n- [Comparator](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/comparatr)\n    - [Comparator Demo](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/comparatr/ComparatorDemo.java)\n    - [Comparator on Multiple Fields (Java 7)](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/comparatr/ComparatorOnMultipleFields_Java7.java)\n    - [Comparator on Multiple Fields (Java 8)](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/comparatr/ComparatorOnMultipleFields_Java8.java)\n    - [HashMap Sorting](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/comparatr/HashMapSorting.java)\n    - [TreeMap reverse operations](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/comparatr/TreeMapReverseOperations.java)\n- [Conversions](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/conversions/BinaryDecimalConversions.java)\n- [Copy](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/copy)\n    - [Deep Copy](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/copy/DeepCopy.java)\n    - [Deep Copy using CLone method](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/copy/DeepCopyUsingClone.java)\n    - [Shallow Copy](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/copy/ShalowCopy.java)\n- [Data Structure](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure)\n    - [Searching](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/searching)\n        - [BFS (Breath First Search) Graph](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/searching/BFSGraph.java)\n        - [BFS (Breath First Search) Shortest Path Graph](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/searching/BFSShortestPath.java)\n        - [DFS (Depth First Search) Graph](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/searching/DFSGraph.java)\n    - [Sorting](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/sorting)\n        - [Bubble Sort](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/sorting/MyBubbleSort.java)\n        - [Insertion Sort](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/sorting/MyInsertionSort.java)\n        - [Selection Sort](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/sorting/MySelectionSort.java)\n    - [Binary Tree Depth](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/BinaryTreeDepth.java)\n    - [Detect Loop in Linked List](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/DetectLoopInLinkedList.java)\n    - [Detect and Remove Loop in Linked List](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/datastructure/LoopInLinkedList.java)\n    - [LRU (Last Recently Used) Cache](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/LRUCache.java)\n    - [Find Value in Binary Tree](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/datastructure/ValueInBinaryTree.java)\n- [Elevator program](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/elevator)\n- [Finally Block](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/finaly/FinallyBlock.java)\n- [Generics](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/generics)\n    - [Lower Bounded Wildcards](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/generics/LowerBoundedWildcards.java)\n    - [Unbounded Wildcards](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/generics/UnboundedWildcards.java)\n    - [Upper Bounded Wildcards](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/generics/UpperBoundedWildcards.java)\n- [Hash and Equals](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/hashequals)\n- [Image Compression](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/img/compress)\n- [Immutable](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/immutable/FinalClassExample.java)\n- [Interface - Functional Interface](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/intrface)\n- [Java 8 Features](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/java8)\n    - [Design pattern using java8](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/java8/design/pattern) \n        - [Builder Design pattern using java8](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/java8/design/pattern/GenericBuilderDemo.java) \n    - [Functional Interfaces](https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html)\n    - [BiConsumer](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/BiConsumerDemo.java)\n    - [BiFunction](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/BiFunctionDemo.java)\n    - [BiPredicate](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/BiPredicateDemo.java)\n    - [Collectors utility class](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/CollectorsDemo.java)\n    - [Comparator](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/ComparatorDemo.java)\n    - [Consumer](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/ConsumerDemo.java)\n    - [Custom Functional Interface with default \u0026 static methods](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/FunctionalInterfaceImplementation.java)\n    - [Functions](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/FunctionDemo.java)\n    - [Map Reduce](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/MapReduce.java)\n    - [Method Reference](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/MethodReferenceDemo.java)\n    - [Optionals](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/OptionalDemo.java)\n    - [Predicates](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/PredicateDemo.java)\n    - [Sequential and Parallel Streams](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/SequentialParallelDemo.java)\n    - [Streams](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/StreamDemo.java)\n    - [Suppliers](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/java8/SupplierDemo.java)\n- [List Operations](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/list/operations)\n    - [Find Missing Elements from Duplicate List](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/list/operations/FindMissingElementFromDuplicateList.java)\n    - [Remove Duplicate Elements from List](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/list/operations/RemoveDuplicateFromList.java)  \n- [Map Operations](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/map/operations)\n    - [Count Chars and Print in Order as per Count](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/map/operations/CountCharsAndPrintInOrder.java)\n    - [Iterate Maps using Java 7 and Java 8](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/map/operations/MapIterations.java)\n    - [Max Repetitive Letter from String](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/map/operations/MaxRepeatativeLetter.java) \n- [Method Calls](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/methodcalls)\n    - [Method Calls on Overloaded Classes with Extending](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/methodcalls/ExtendClass.java)\n    - [Integer wrapper and primitive method calls](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/methodcalls/IntegerTest.java)\n    - [Static method calls by Extending](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/methodcalls/StaticMethodOverload.java)\n- [Numbers Operations](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/numbers)\n    - [N Prime Numbers](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/numbers/NPrimeNumber.java)\n    - [Sum of Numbers](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/numbers/SumOfNumbers.java)\n- [Overriding](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/overriding)\n    - [Overriding methods](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/overriding/MethodCallTest.java)\n    - [Overriding Rules while Extending Classes](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/overriding/SuperClass.java)\n- [Palindrome](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/palindrome)\n    - [Array of Numbers Palindrome](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/palindrome/ArrayPalindrome.java)\n    - [String Palindrome with Multiple Techniques](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/palindrome/Palindrome.java)\n- [Pattern programs](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/pattern)\n    - [Christmas Tree using Stars (*)](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/pattern/ChristmasTree.java)\n- [Permutation](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/permutation)\n    - [Permutation using Recursion and Swapping](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/permutation/Permutation.java)\n    - [Permutation using Substring](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/permutation/PermutationUsingSubString.java)\n- [Recursion](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reccursion)\n    - [Biggest in Array](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reccursion/BiggestInArray.java)\n    - [Factorial](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reccursion/FactorialRecursive.java)\n    - [Fibonacci Series](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reccursion/FibonacciInRecursion.java)\n    - [Reverse String](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reccursion/ReverseString.java)\n- [Reflection](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reflection)\n    - [Get Class's Public and Private Fields](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reflection/GetClassFields.java)\n    - [Get Class Information](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reflection/GetClassInfo.java)\n    - [Get Class's Public and Private Methods](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/reflection/GetClassMethods.java)\n- [Runtime Package](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/runtime)\n    - [Garbage Collection](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/runtime/GarbageCollectionDemo.java)\n    - [Log Monitor](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/runtime/LogMonitor.java)\n    - [Run Commands using Java](https://github.com/rahul-ghadge/DemoProgramsJava/blob/master/src/main/java/com/demo/program/runtime/RuntimeExe.java)\n- [Singleton Prevention](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/singleton)\n    - [Restrict Singleton from Cloning](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/singleton/RestrictCloneInSingleton.java)\n    - [Restrict Singleton from Reflection](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/singleton/RestrictReflectionInSingleton.java)\n    - [Restrict Singleton from Serialization](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/singleton/RestrictSerializationInSingleton.java)\n- Store SQL\n    - [Run SQL Script on Oracle DB](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/store/sql)\n- [Multi-threading](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread)\n    - [Blocking Queue](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/BlockingQueueDemo.java)\n    - [Countdown Latch](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/CountdownLatchDemo.java)\n    - [Cyclic Barrier ](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/CyclicBarrierDemo.java)\n    - [Hello World Printing(100 times) from 2 Different Threads](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/HelloWorldPrint.java)\n    - [Java Atomic Integer](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/JavaAtomic.java)\n    - [Join in Thread](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/JoinTest.java)\n    - [Hello World Printing from 2 Different Threads](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/MainHelloWorldThread.java.java)\n    - [Producer and Consumer using Synchronized Blocks](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/ProducerConsumer.java)\n    - [Producer and Consumer using Locks](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/ProducerConsumerLock.java)\n    - [Return/Get Value from Thread](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/ReturnValue.java)\n    - [Return/Get Value from Thread using Callable Interface](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/ReturnValueFromCollable.java)\n    - [Sum of Numbers Range using Executor Framework](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/RunnableSumOfRange.java)\n    - [Synchronized method test](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/SynchronizedTest.java)\n    - [Thread Groups](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/ThreadGroupDemo.java)\n    - [Wait and Notify](https://github.com/rahul-ghadge/DemoProgramsJava/tree/master/src/main/java/com/demo/program/thread/WaitNotifyTest.java)\n\n\n#### More topics coming soon.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahul-ghadge%2Fdemoprogramsjava","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frahul-ghadge%2Fdemoprogramsjava","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahul-ghadge%2Fdemoprogramsjava/lists"}