source: https://www.javatpoint.com/for-each-loop
for(data_type variable : array | collection){
//body of for-each loop
}
import java.util.*;
class ForEachExample{
public static void main(String[] args){
//Creating a list of elements
ArrayList<String> list= new ArrayList<>();
list.add("vimal");
list.add("sonoo");
list.add("ratan");
//traversing the list using for-each loop
for(String s:list){
System.out.println(s);
}
/* Output:
vimal
sonoo
ratan
*/
}
}
A collection — sometimes called a container — is simply an object that groups multiple elements into a single unit. Collections are used to store, retrieve, manipulate, and communicate aggregate data.
source: https://docs.oracle.com/javase/tutorial/collections/intro/index.html
source2: https://www.javatpoint.com/collections-in-java
A collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain the following:
The core collection interfaces are the foundation of the Java Collections Framework.
The Java Collections Framework hierarchy consists of two distinct interface trees:
The first tree starts with the Collection interface, which provides for the basic functionality used by all collections, such as add and remove methods. Its subinterfaces — Set, List, and Queue — provide for more specialized collections.
The Set interface does not allow duplicate elements. This can be useful for storing collections such as a deck of cards or student records. The Set interface has a subinterface, SortedSet, that provides for ordering of elements in the set.
The List interface provides for an ordered collection, for situations in which you need precise control over where each element is inserted. You can retrieve elements from a List by their exact position.
The Queue interface enables additional insertion, extraction, and inspection operations. Elements in a Queue are typically ordered in on a FIFO basis.
The Deque( double ended queue; deck ) interface enables insertion, deletion, and inspection operations at both the ends. Elements in a Deque can be used in both LIFO and FIFO.
The second tree starts with the Map interface, which maps keys and values similar to a Hashtable.
Map's subinterface, SortedMap, maintains its key-value pairs in ascending order or in an order specified by a Comparator.
These interfaces allow collections to be manipulated independently of the details of their representation.