Book Image

Java Fundamentals

By : Gazihan Alankus, Rogério Theodoro de Brito, Basheer Ahamed Fazal, Vinicius Isola, Miles Obare
Book Image

Java Fundamentals

By: Gazihan Alankus, Rogério Theodoro de Brito, Basheer Ahamed Fazal, Vinicius Isola, Miles Obare

Overview of this book

Since its inception, Java has stormed the programming world. Its features and functionalities provide developers with the tools needed to write robust cross-platform applications. Java Fundamentals introduces you to these tools and functionalities that will enable you to create Java programs. The book begins with an introduction to the language, its philosophy, and evolution over time, until the latest release. You'll learn how the javac/java tools work and what Java packages are - the way a Java program is usually organized. Once you are comfortable with this, you'll be introduced to advanced concepts of the language, such as control flow keywords. You'll explore object-oriented programming and the part it plays in making Java what it is. In the concluding chapters, you'll get to grips with classes, typecasting, and interfaces, and understand the use of data structures, arrays, strings, handling exceptions, and creating generics. By the end of this book, you will have learned to write programs, automate tasks, and follow advanced courses on algorithms and data structures or explore more advanced Java courses.
Table of Contents (12 chapters)
Java Fundamentals
Preface

The Java Collections Framework


When building complex applications, you need to manipulate collections of objects in different ways. Initially, the core Java library was limited to only three options: Array, Vector, and Hashtable. All of them are powerful in their own way, but with time, it became clear that wasn't enough. People started building their own frameworks to deal with more complex use cases such as grouping, sorting, and comparing.

The Java Collections Framework was added to Java Standard Edition to reduce programming effort and improve the performance and interoperability of Java applications by providing data structures and algorithms that are efficient and easy to use. This set of interfaces and implementing classes were designed to provide an easy way for Java developers to build APIs that could be shared and reused.

Vectors

Vectors solve the problem of arrays being static. They provide a dynamic and scalable way of storing many objects. They grow as you add new elements, can...