Java data structures Page

Java Data Structures



Return to Java or Data structures

Data structures in Java


Data Structures in Java with Heinz Kabutz

long $TIME$ = System.nanoTime(); try { $SELECTION$ } finally { $TIME$ = System.nanoTime() - $TIME$; System.out.printf("$TIME$ = %dms%n", ($TIME$/1_000_000)); }

* Use arrayList most commonly.

* NEVER use Linkedlist. Even Josh Bloch, the author of the Java Collections says he never uses LinkedList.


September 13, 2021
7:00 a.m. - 11:00 a.m. Pacific Daylight Time

You're signed up!

YOUR INSTRUCTOR


Heinz Kabutz is the author of “The Java Specialists’ Newsletter”, a publication enjoyed by tens of thousands of Java experts in over 145 countries. His book “Dynamic Proxies (in German)” was #1 Bestseller on Amazon.de in Fachbücher für Informatik for about five minutes until Amazon fixed their algorithm. Thanks to a supportive mother, he has now sold 5 copies.

Heinz’s Java Specialists’ newsletter is filled with amusing anecdotes of life on the Island of Crete. He is a popular speaker at all the best Java conferences around the world, and also at some of the worst. He teaches Java courses in classrooms around the world, where his prime objective is to make absolutely sure that none of his students fall asleep. He is not always successful.

Show less
linkedin

Published by Pearson

A thorough look at the collection classes in java.util.** in Java.

What you'll learn
Is this live event for you?
Schedule
Java programmers typically use only very few collection classes for all of their work. Often they chose inappropriate ones. In this course, we will look at what each collection costs and when you should use which one. Some of the questions will we answer include: Which is the best Collection to use in Java? When do you need to employ ConcurrentSkipListSet? What is the computational time complexity of WeakHashMap?

What you’ll learn and how you can apply it
Java has an overwhelming number of interfaces and classes in the java.util.** packages. In this course you will learn what they are and when to use which. Is ArrayList better than LinkedList? What is the difference in space complexity between the two classes?
Choosing the correct collection can make our code more succinct. For example, the new List.of() syntax in Java 9 is better at creating immutable lists.
By looking at hashing closely, we can learn how to write hashing functions that produce a 3x performance improvement for HashMap and ConcurrentHashMap.
We learn when to use which concurrent classes and which to avoid.
This live event is for you because…
Junior and intermediate Java programmers wanting to understand collections better.
Advanced programmers who want to acquire additional skills.
Prerequisites
Attendees should be familiar with basic Java code, but a CS degree is not assumed
Should know at least Java 6. We are covering all relevant collection classes up until Java 11. Knowledge of streams and lambdas not necessary.
Course Set-up

Please install the following before the class begins: - JDK 11 or later - IntelliJ 2020.2 or later - Git

Further set-up instructions will be provided at the start of the class.

Recommended Follow-up

Sign up to The Java Specialists’ Newsletter for lots of tips on the latest Java developments: https://www.javaspecialists.eu/archive

Schedule
The timeframes are only estimates and may vary according to how the class is progressing.

Section 1 - Introduction to Collections in Java (10 minutes)

Computational Time and Space Complexity
Arrays
Section 1 Quiz (5 minutes)
Section 2 – Lists (30 minutes)

Lists
ArrayList
Iteration
CopyOnWriteArrayList
LinkedList
Section 2 Quiz (5 minutes)
Section 3 – Sorting (25 minutes)

Sorting lists
Section 3 Quiz (5 minutes)
Section 4 – Sets (15 minutes)

Sets
TreeSet
ConcurrentSkipListSet
CopyOnWriteArraySet
Section 4 Quiz (5 minutes)
Section 5 – Hashing (15 minutes)

Hashing
HashSet
ConcurrentHashMap.newKeySet()
Section 5 Quiz (5 minutes)
Section 6 – Maps (45 minutes)

Maps
HashMap
ConcurrentHashMap
TreeMap
ConcurrentSkipListMap
LinkedHashMap and LinkedHashSet
Highly Specialized Collections: EnumSet, EnumMap, IdentityHashMap, Properties, WeakHashMap
Section 6 Quiz (5 minutes)
Section 7 - Queues and Deques (25 minutes)

Queues and Deques
ConcurrentLinkedQueue and ConcurrentLinkedDeque
ArrayDeque
BlockingQueues
LinkedBlockingQueue and LinkedBlockingDeque
ArrayBlockingQueue
Highly specialized queues: DelayQueue, SynchronousQueue, LinkedTransferQueue
PriorityQueue and PriorityBlockingQueue
Section 7 Quiz (5 minutes)
Section 8 - Collection Facades (15 minutes)

java.util.Collections
java.util.Arrays
Section 8 Quiz (5 minutes)
Section 9 – Wrap-up (15 minutes)

Further questions

https://learning.oreilly.com/live-events/data-structures-in-java/0636920254768/0636920060391