Java Collections

Java collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain the following:

Interfaces: These are abstract data types that represent collections. Interfaces allow collections to be manipulated independently of the details of their representation. In object-oriented languages, interfaces generally form a hierarchy.

Implementations, i.e., Classes: These are the concrete implementations of the collection interfaces. In essence, they are reusable data structures.

Algorithms: These are the methods that perform useful computations, such as searching and sorting, on objects that implement collection interfaces. The algorithms are said to be polymorphic: that is, the same method can be used on many different implementations of the appropriate collection interface.

In addition to collections, the framework defines several map interfaces and classes. Maps store key/value pairs. Although maps are not collections in the proper use of the term, but they are fully integrated with collections.

Related Tags

Tutorials

Java TreeSet class

Java TreeSet class extends AbstractSet and implements NavigableSet interface. It is very similar to HashSet class, except it stores the element in sorted order.

Java LinkedHashSet class

Java LinkedHashSet class extends HashSet and implements Set interface. It is very very similar to HashSet class, except if offers the predictable iteration order.

Java HashSet class

Java HashSet class implements the Set interface, backed by a hash table(actually a HashMap instance). If does not offer any guarantees as to the iteration order, and allows null element.

Java Hashtable class

Java Hashtable class is an implementation of hash table data structure. It is very much similar to HashMap but it is synchronized while HashMap is not.

Java TreeMap class

Java TreeMap class stores key-value pairs very similar to the HashMap class. The difference is that TreeMap provides an efficient way to store key/value pairs in sorted order. The TreeMap class is a red-black tree-based NavigableMap implementation. This Java TreeMap tutorial will teach us about TreeMap class, methods, usecases, and …

Java LinkedHashMap class

LinkedHashMap in Java is used to store key-value pairs very similar to HashMap class. Difference is that LinkedHashMap maintains the order of elements inserted into it while HashMap is unordered. In this Java collection tutorial, we will learn about LinkedHashMap class, it’s methods, usecases and other important details. Table of …

Clone a HashMap – Shallow and Deep Copy

Learn to create clone of a HashMap in Java. We will see the java programs to create shallow copy and deep copy of a HashMap. 1. Creating a Shallow Copy of Map We can create a shallow copy of a given HashMap in two ways. The first uses the clone() …

How to Join or Merge Two Maps in Java

Learn merging two hashmaps in both cases – ignoring duplicate keys (overwrites the value) or handling duplicate keys. 1. Merge Two HashMaps Ignoring Duplicate Keys This one is a simple solution. Use firstMap.putAll(secondMap) method that copies all of the mappings from the secondMap to firstMap. As we know hashmap does …

How to Compare Two Maps in Java

Learn to compare two Java Maps for the equality of their entries, key and values, and find the Map differences using Guava’s MapDifference API.

Java ArrayList spliterator() Example

Since Java 8, Spliterators are a special type of iterator that supports parallel iteration of portions of the source such as list, set, or array.

Java ArrayList replaceAll()

ArrayList replaceAll() transform each element in the list by applying a lambda expression or UnaryOperator implementation.

Java List retainAll()

In Java, the ArrayList.retainAll() retains only those elements in this list that are contained in the specified collection. Rest all elements are removed from the list. This method is exactly the opposite to removeAll() method. 1. Syntax The syntax to use the retainAll() method is: Method Argument – a collection …

Java ArrayList.listIterator()

Java ArrayList.listIterator() returns a bi-directional list iterator that iterates over the elements of the current list.

Java ArrayList forEach()

ArrayList forEach() method iterate the list and performs the argument action for each element of the list until all elements have been processed.

Java ArrayList add() – Add a Single Element to List

The ArrayList.add() in Java adds a single element to the list, either at the end of the list or at the specified index position. Always use generics for compile-time type safety while adding the element to the arraylist. 1. ArrayList.add() Method The add() method first ensures that there is sufficient …

Java Vector vs ArrayList

In Java, ArrayList and Vector, both implement java.util.List interface and provide the capability to store and get objects within using simple API methods. Still, they are different in many aspects, and we need to understand both classes in detail to make a wise decision about when to use which class. …

Java ArrayList.toArray()

Learn to convert ArrayList to an array using toArray() method. The toArray() returns an array containing all of the elements in the list.

Java ArrayList.ensureCapacity()

Learn to use ArrayList ensureCapacity() method to increase the capacity of already initialized arraylist to a desired size. It improve performance of list.

Replace an Existing Item in ArrayList

Learn to update or replace an existing element in ArrayList with a new specified element or value, using set (int index, Object newItem) method. 1. Replacing an Existing Item To replace an existing item, we must find the item’s exact position (index) in the ArrayList. Once we have the index, …

How to Merge Two ArrayLists in Java

Learn how to merge two arraylists into a combined single arraylist in Java. Also learn to join arraylists without duplicates in the combined list.

How to Swap Two Elements in an ArrayList in Java

Learn to swap two specified elements in ArrayList in Java. We will use Collections.swap() method to swap two elements within a specified arraylist at specified indices. 1. Collections.swap() API The Collections.swap() method swaps the elements at the specified positions in the specified list. The index arguments must be a valid …

Synchronized ArrayList in Java

Learn to synchronize an ArrayList using either Collections.synchronizedList() or CopyOnWriteArrayList class with examples.

How to Compare Two Lists in Java

Learn to compare two arraylists in Java with List Items. Learn to test whether two arraylists are equal and then find different list items.

Java Arraylist.indexOf()

Learn to get the index of the first occurrence of an element in an arraylist in Java using ArrayList.indexOf() method with a simple example.

Java Arraylist.lastIndexOf()

Learn to get the index of last occurrence of an element in the arraylist in Java using Arraylist.lastIndexOf() method with a simple example.

Java ArrayList subList()

Learn to get a sublist from an existing ArrayList using ArrayList.subList() and modify the original list using the sublist view.

Add Multiple Elements to ArrayList in One Line

The Java ArrayList class is part of the Collection framework and is an implementation of a resizable array data structure. It automatically grows and shrinks when elements are added or removed in the runtime, whenever required, This Java tutorial discussed the different ways to add multiple items to an ArrayList …

Different Ways to Iterate an ArrayList

The Java iterate through ArrayList programs. Learn how to retrieve values from ArrayList in Java using for loop, while loop, iterator and stream api.

Initialize an ArrayList in Java

Java ArrayList can be initialized in one line using List.of(), and new ArrayList constructors. Learn to add elements one by one and in bulk.

Iterate through a Collection in Java

Learn different techniques to iterate over a Java Collection (List, Set and Map) using for-loop, enhanced for-loop, Iterator and Java Stream.

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions and frequently asked interview questions.