https://github.com/viveknaskar/java-experiments
A collection of Java examples and experiments to understand core concepts, design patterns, and coding practices.
https://github.com/viveknaskar/java-experiments
algorithm-examples coding-practice design-patterns exception-handling java java-examples java-experiments java-generics java-programming java-streams singleton-pattern string-manipulation
Last synced: 6 months ago
JSON representation
A collection of Java examples and experiments to understand core concepts, design patterns, and coding practices.
- Host: GitHub
- URL: https://github.com/viveknaskar/java-experiments
- Owner: viveknaskar
- License: mit
- Created: 2019-09-10T18:42:32.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-10T11:44:37.000Z (8 months ago)
- Last Synced: 2025-04-14T01:51:57.379Z (6 months ago)
- Topics: algorithm-examples, coding-practice, design-patterns, exception-handling, java, java-examples, java-experiments, java-generics, java-programming, java-streams, singleton-pattern, string-manipulation
- Language: Java
- Homepage:
- Size: 82 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Java Experiments
[](https://github.com/viveknaskar/java-experiments/kapde/stargazers)
[](https://github.com/viveknaskar/java-experiments)
[](https://github.com/viveknaskar/java-experiments/issues)A series of java programs intended for coding practices, concepts understanding and experiments.
The repository will be updated with new try-outs and experiments regularly.## Prerequisites
To run this project, you need the following:
- **Java Development Kit (JDK)**: Version 8 or higher is recommended.
- **Build Tool**: (Optional) Maven or Gradle, if you'd like to manage dependencies or structure.
- **IDE/Text Editor**: IntelliJ IDEA, Eclipse, or any other Java-supporting editor for easy code exploration.
- **Command Line**: To compile and run programs manually.## Some of them covered are:
- **AdapterExample**: Demonstrates the Adapter Design Pattern for interface compatibility.
- **ComparatorExample**: Illustrates custom sorting using Java's `Comparator` interface.
- **DateAndTime**: Explores Java's Date and Time API, including `LocalDate` and `LocalTime`.
- **DecoratorExample**: Implements the Decorator Design Pattern for dynamic behavior addition.
- **GenericsExample**: Provides examples of using Java Generics in classes.
- **SingletonExample**: Covers the Singleton Design Pattern and ways to break and protect it.
- **StreamsExample**: Highlights Java 8 Streams API for functional-style operations on collections.
- **StringExamples**: Explores common string manipulation techniques.
- **TryCatchFinallyExample**: Demonstrates proper use of exception handling in Java.## Java Class Files
- [AdapterExample.java](src/main/java/com/javaexperiments/AdapterExample.java)
- [ComparatorExample.java](src/main/java/com/javaexperiments/ComparatorExample.java)
- [ConstructorExample.java](src/main/java/com/javaexperiments/ConstructorExample.java)
- [CountingNumberOfCharactersInAWord.java](src/main/java/com/javaexperiments/CountingNumberOfCharactersInAWord.java)
- [CountingNumberOfWords.java](src/main/java/com/javaexperiments/CountingNumberOfWords.java)
- [DateAndTime.java](src/main/java/com/javaexperiments/DateAndTime.java)
- [DecoratorExample.java](src/main/java/com/javaexperiments/DecoratorExample.java)
- [DuplicateElementFromAString.java](src/main/java/com/javaexperiments/DuplicateElementFromAString.java)
- [FactoryMethodExample.java](src/main/java/com/javaexperiments/FactoryMethodExample.java)
- [FindingLongestStringInArray.java](src/main/java/com/javaexperiments/FindingLongestStringInArray.java)
- [FindingMaxInJava8.java](src/main/java/com/javaexperiments/FindingMaxInJava8.java)
- [FindingSecondHighestNumberInArray.java](src/main/java/com/javaexperiments/FindingSecondHighestNumberInArray.java)
- [FirstDuplicateElementFromAString.java](src/main/java/com/javaexperiments/FirstDuplicateElementFromAString.java)
- [FirstUniqueElementFromAString.java](src/main/java/com/javaexperiments/FirstUniqueElementFromAString.java)
- [GenerateKeyPairs.java](src/main/java/com/javaexperiments/GenerateKeyPairs.java)
- [GenerateRandomUsernameAndPassword.java](src/main/java/com/javaexperiments/GenerateRandomUsernameAndPassword.java)
- [GenericsExample.java](src/main/java/com/javaexperiments/GenericsExample.java)
- [GenericsMethod.java](src/main/java/com/javaexperiments/GenericsMethod.java)
- [IntegerToString.java](src/main/java/com/javaexperiments/IntegerToString.java)
- [MethodOverloadingExample.java](src/main/java/com/javaexperiments/MethodOverloadingExample.java)
- [ReverseString.java](src/main/java/com/javaexperiments/ReverseString.java)
- [ScannerClass.java](src/main/java/com/javaexperiments/ScannerClass.java)
- [SingletonCloningExample.java](src/main/java/com/javaexperiments/SingletonCloningExample.java)
- [SingletonCloningPreventExample.java](src/main/java/com/javaexperiments/SingletonCloningPreventExample.java)
- [SingletonDeserializationExample.java](src/main/java/com/javaexperiments/SingletonDeserializationExample.java)
- [SingletonDeserializationPreventExample.java](src/main/java/com/javaexperiments/SingletonDeserializationPreventExample.java)
- [SingletonExample.java](src/main/java/com/javaexperiments/SingletonExample.java)
- [SingletonReflectionExample.java](src/main/java/com/javaexperiments/SingletonReflectionExample.java)
- [SingletonReflectionPreventExample.java](src/main/java/com/javaexperiments/SingletonReflectionPreventExample.java)
- [StateExample.java](src/main/java/com/javaexperiments/StateExample.java)
- [StaticInitialization.java](src/main/java/com/javaexperiments/StaticInitialization.java)
- [StreamsExample.java](src/main/java/com/javaexperiments/StreamsExample.java)
- [StringComparison.java](src/main/java/com/javaexperiments/StringComparison.java)
- [StringExamples.java](src/main/java/com/javaexperiments/StringExamples.java)
- [TryCatchFinallyExample.java](src/main/java/com/javaexperiments/TryCatchFinallyExample.java)
- [UniqueElementFromAString.java](src/main/java/com/javaexperiments/UniqueElementFromAString.java)