{"id":25620666,"url":"https://github.com/viveknaskar/java-experiments","last_synced_at":"2025-04-14T01:52:07.579Z","repository":{"id":191404360,"uuid":"207636654","full_name":"viveknaskar/java-experiments","owner":"viveknaskar","description":"A collection of Java examples and experiments to understand core concepts, design patterns, and coding practices.","archived":false,"fork":false,"pushed_at":"2025-02-10T11:44:37.000Z","size":84,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T01:51:57.379Z","etag":null,"topics":["algorithm-examples","coding-practice","design-patterns","exception-handling","java","java-examples","java-experiments","java-generics","java-programming","java-streams","singleton-pattern","string-manipulation"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viveknaskar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-09-10T18:42:32.000Z","updated_at":"2025-02-10T11:44:40.000Z","dependencies_parsed_at":"2025-01-04T16:24:18.116Z","dependency_job_id":"9154ac61-e0a9-45cc-ba9b-943fe1fbef83","html_url":"https://github.com/viveknaskar/java-experiments","commit_stats":null,"previous_names":["viveknaskar/mighty-java-concepts","viveknaskar/java-experiments"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveknaskar%2Fjava-experiments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveknaskar%2Fjava-experiments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveknaskar%2Fjava-experiments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveknaskar%2Fjava-experiments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viveknaskar","download_url":"https://codeload.github.com/viveknaskar/java-experiments/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248809033,"owners_count":21164895,"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":["algorithm-examples","coding-practice","design-patterns","exception-handling","java","java-examples","java-experiments","java-generics","java-programming","java-streams","singleton-pattern","string-manipulation"],"created_at":"2025-02-22T07:19:56.265Z","updated_at":"2025-04-14T01:52:07.549Z","avatar_url":"https://github.com/viveknaskar.png","language":"Java","readme":"# Java Experiments\n[![GitHub stars](https://img.shields.io/github/stars/viveknaskar/java-experiments)](https://github.com/viveknaskar/java-experiments/kapde/stargazers)\n[![GitHub last commit](https://img.shields.io/github/last-commit/viveknaskar/java-experiments)](https://github.com/viveknaskar/java-experiments)\n[![open issues](https://img.shields.io/github/issues/viveknaskar/java-experiments)](https://github.com/viveknaskar/java-experiments/issues)\n\nA series of java programs intended for coding practices, concepts understanding and experiments. \nThe repository will be updated with new try-outs and experiments regularly.\n\n## Prerequisites\n\nTo run this project, you need the following:\n\n- **Java Development Kit (JDK)**: Version 8 or higher is recommended.\n- **Build Tool**: (Optional) Maven or Gradle, if you'd like to manage dependencies or structure.\n- **IDE/Text Editor**: IntelliJ IDEA, Eclipse, or any other Java-supporting editor for easy code exploration.\n- **Command Line**: To compile and run programs manually.\n\n## Some of them covered are:\n\n- **AdapterExample**: Demonstrates the Adapter Design Pattern for interface compatibility.\n- **ComparatorExample**: Illustrates custom sorting using Java's `Comparator` interface.\n- **DateAndTime**: Explores Java's Date and Time API, including `LocalDate` and `LocalTime`.\n- **DecoratorExample**: Implements the Decorator Design Pattern for dynamic behavior addition.\n- **GenericsExample**: Provides examples of using Java Generics in classes.\n- **SingletonExample**: Covers the Singleton Design Pattern and ways to break and protect it.\n- **StreamsExample**: Highlights Java 8 Streams API for functional-style operations on collections.\n- **StringExamples**: Explores common string manipulation techniques.\n- **TryCatchFinallyExample**: Demonstrates proper use of exception handling in Java.\n\n## Java Class Files\n\n- [AdapterExample.java](src/main/java/com/javaexperiments/AdapterExample.java)\n- [ComparatorExample.java](src/main/java/com/javaexperiments/ComparatorExample.java)\n- [ConstructorExample.java](src/main/java/com/javaexperiments/ConstructorExample.java)\n- [CountingNumberOfCharactersInAWord.java](src/main/java/com/javaexperiments/CountingNumberOfCharactersInAWord.java)\n- [CountingNumberOfWords.java](src/main/java/com/javaexperiments/CountingNumberOfWords.java)\n- [DateAndTime.java](src/main/java/com/javaexperiments/DateAndTime.java)\n- [DecoratorExample.java](src/main/java/com/javaexperiments/DecoratorExample.java)\n- [DuplicateElementFromAString.java](src/main/java/com/javaexperiments/DuplicateElementFromAString.java)\n- [FactoryMethodExample.java](src/main/java/com/javaexperiments/FactoryMethodExample.java)\n- [FindingLongestStringInArray.java](src/main/java/com/javaexperiments/FindingLongestStringInArray.java)\n- [FindingMaxInJava8.java](src/main/java/com/javaexperiments/FindingMaxInJava8.java)\n- [FindingSecondHighestNumberInArray.java](src/main/java/com/javaexperiments/FindingSecondHighestNumberInArray.java)\n- [FirstDuplicateElementFromAString.java](src/main/java/com/javaexperiments/FirstDuplicateElementFromAString.java)\n- [FirstUniqueElementFromAString.java](src/main/java/com/javaexperiments/FirstUniqueElementFromAString.java)\n- [GenerateKeyPairs.java](src/main/java/com/javaexperiments/GenerateKeyPairs.java)\n- [GenerateRandomUsernameAndPassword.java](src/main/java/com/javaexperiments/GenerateRandomUsernameAndPassword.java)\n- [GenericsExample.java](src/main/java/com/javaexperiments/GenericsExample.java)\n- [GenericsMethod.java](src/main/java/com/javaexperiments/GenericsMethod.java)\n- [IntegerToString.java](src/main/java/com/javaexperiments/IntegerToString.java)\n- [MethodOverloadingExample.java](src/main/java/com/javaexperiments/MethodOverloadingExample.java)\n- [ReverseString.java](src/main/java/com/javaexperiments/ReverseString.java)\n- [ScannerClass.java](src/main/java/com/javaexperiments/ScannerClass.java)\n- [SingletonCloningExample.java](src/main/java/com/javaexperiments/SingletonCloningExample.java)\n- [SingletonCloningPreventExample.java](src/main/java/com/javaexperiments/SingletonCloningPreventExample.java)\n- [SingletonDeserializationExample.java](src/main/java/com/javaexperiments/SingletonDeserializationExample.java)\n- [SingletonDeserializationPreventExample.java](src/main/java/com/javaexperiments/SingletonDeserializationPreventExample.java)\n- [SingletonExample.java](src/main/java/com/javaexperiments/SingletonExample.java)\n- [SingletonReflectionExample.java](src/main/java/com/javaexperiments/SingletonReflectionExample.java)\n- [SingletonReflectionPreventExample.java](src/main/java/com/javaexperiments/SingletonReflectionPreventExample.java)\n- [StateExample.java](src/main/java/com/javaexperiments/StateExample.java)\n- [StaticInitialization.java](src/main/java/com/javaexperiments/StaticInitialization.java)\n- [StreamsExample.java](src/main/java/com/javaexperiments/StreamsExample.java)\n- [StringComparison.java](src/main/java/com/javaexperiments/StringComparison.java)\n- [StringExamples.java](src/main/java/com/javaexperiments/StringExamples.java)\n- [TryCatchFinallyExample.java](src/main/java/com/javaexperiments/TryCatchFinallyExample.java)\n- [UniqueElementFromAString.java](src/main/java/com/javaexperiments/UniqueElementFromAString.java)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviveknaskar%2Fjava-experiments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviveknaskar%2Fjava-experiments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviveknaskar%2Fjava-experiments/lists"}