The Java programming language is a high-level object-oriented language that has a particular syntax and style. Java intends to allow the development of client-server side applications using code which runs on one platform known as the Java Virtual Machine (JVM); without having to recompile them to run on another platform. It follows the following principle:
‘Write once and run anywhere’
If you're a Java developer looking to learn how to effectively leverage data structures for data processing? Or if you want to learn what’s new to the language in Java 9? If yes, then go for this Learning Path.
Packt’s Video Learning Path is a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
Let's take a look at your learning journey. This Learning Path starts with an introduction to Java and JVM with solving some Java Shell examples. You’ll learn how to write your own object-oriented code in Java by modelling and building a simple music streaming service. Then, you’ll learn more advanced topics including functional data processing and building API. You'll also learn different data structures in Java 9. Moving ahead, you'll learn parsing a simple CSV data file using the Apache Commons framework. Then, you'll learn how to use loops to process, filter, and mutate the data in the CSV data file. Finally, you'll learn how to simplify your processing logic using functional programming.
By the end of this Learning Path, you will be able to efficiently perform data processing using Java 9.
About the Author:
Andrei Ruse is currently working with Colibri Ltd and has been working as a software developer in the financial services industry for over 3 years, and has over 6 years of experience with Java as a main programming language - both academically and professionally. Prior to his current role in a FinTech startup in London, he spent three years working for one of the world's largest investment banks, having joined it straight after graduating from Manchester University with a degree in Computer Science.
How to install and set up the development environment on MacOS and Windows?
What is Java, and how is it useful to developers?
How do I build an application in Java, and which tools are involved in this process?
What is the quickest way of writing an application in Java 9, using the JShell?
What is a Java class, and why is it a required component in any source file?
Which are the main paradigms in Java, and how can they help us write better code?
How can we design an application in Java based on given usability requirements?
Based on known requirements and a given design diagram, how do we implement them in Java code?
How do we start applying the OOP paradigms in our existing code to enhance our application?
Which data structures does Java come with that we can use to store series of objects? Also, what is the difference between the various data structures?
Which data structures in Java enable us to store data in a more complex way?
How can we enhance the existing structure of the application to enable answering more complex queries about the stored music?
How can we use static methods in Java to define behavior that does not need a stored state?
How can we use the concepts we learned to store the songs that a given user has listened to and allow querying from a user’s perspective?
How can we load some data into our application and have richer data structures?
How can we design a command-line user-facing interface to allow anyone to input data and interact with the application?
What is Maven and how do I manage my projects external libraries?
What is the CSV file format, and how do we use it within Java?
How do CSV libraries such as Apache Maven handle files, both when reading and writing data?
Which are the data structures provided in Java that can store collections of objects? What are the properties of these data structures?
Which are the advanced properties of Lists, and how can they be used in code?
Which are the advanced properties of Sets, and how can they be used in code?
Which are the properties of Maps, and how can they provide better functionality than Lists and Sets?
How can we combine all available data structures to answer complex user queries regarding our music streaming application?
What are streams and how are they different than collections, and how can they improve our code base?
What is the map() function on the Stream interface, and how do we use it in the context of our application?
What is the filter() function on the Stream interface, and how do we use it in the context of our application?
How can we aggregate elements in a stream, and what are the available operations?
What other methods are available on the Stream interface, and how do we combine multiple such methods into a chained call?
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.