Welcome to the Week 4 repository of our Java learning series. This week was dedicated to mastering *Java Generics, **Collections Framework, **IO Streams, **Exception Handling, **Regular Expressions, **JUnit Testing, and *Java 8 Features. These topics are essential for writing professional and scalable Java applications.
Day | Topic | Status | Submission Title | Notes |
---|---|---|---|---|
01 | Java Generics | β Completed | 01 - Submission of Java Generics | No due date |
02 | Java Collections Framework | β Completed | 02 - Submission of Collections | No due date |
03 | Java IO Streams | β Completed | 03 - Submission of Java IO Streams | No due date |
04 | Exception Handling | β Completed | 04 - Submission of Exceptions | No due date |
05 | Regex and JUnit Testing | β Completed | 05 - Submission of Regex & JUnit | No due date |
06 | Java 8 Features | β Completed | 06 - Submission of Java 8 Features | No due date |
Week 4 provided deeper insights into core and advanced Java features, including working with data using collections, handling input/output streams, implementing robust exception handling, writing testable code using JUnit, and applying modern programming paradigms introduced in Java 8.
- Introduction to Generics
- Generic classes and methods
- Bounded type parameters
- Benefits of using Generics
- Overview of the Collections Framework
- List, Set, Map interfaces and their implementations (ArrayList, HashSet, HashMap)
- Iterators and enhanced for-loops
- Sorting and searching in collections
- Byte and character streams
- InputStream, OutputStream, Reader, and Writer
- Buffered IO
- File handling and serialization
- Types of exceptions: checked and unchecked
- try, catch, finally, throw, and throws
- Custom exceptions
- Best practices in exception handling
- Introduction to Regular Expressions in Java
- Pattern matching with Pattern and Matcher classes
- Unit testing basics using JUnit
- Writing test cases and assertions
- Lambda expressions
- Functional interfaces
- Streams API
- Method references
- Optional class
Each topic has a dedicated folder with:
- Code examples
- Practice problems
- Lab or assignment submissions
- Supporting documentation or summaries
You can explore each folder by topic or clone the repository to experiment with the examples in your local IDE.
Happy Exploring! π