Collection examples
List Examples
Example For Creating a ArrayList
Example For Creating a ArrayList
import java.util.ArrayList;
import java.util.List;
class ArraylistDemo
{
public static void main(String s1[])
{
ArrayList list =new ArrayList();//creating object of ArrayList
//adding elements to ArrayList
list.add("user1");
list.add("user2");
list.add("user3");
list.add("user4");
System.out.println(list);
}
}
Output
[user1, user2, user3, user4]
Example For Calculating Size of ArrayList
Example For Calculating Size of ArrayList
import java.util.ArrayList;
import java.util.List;
class ArraylistDemo
{
public static void main(String s1[])
{
ArrayList list =new ArrayList();//creating object of ArrayList
//adding elements to ArrayList
list.add("user1");
list.add("user2");
list.add("user3");
list.add("user4");
System.out.println(list);
//size() calculate size of ArrayList
System.out.println("Total number of element= "+list.size());
}
}
Output
[user1, user2, user3, user4]
Total number of element= 4
ArrayList CRUD Operation Examples
ArrayList CRUD Operation Examples
import java.util.ArrayList;
import java.util.List;
class ArraylistDemo
{
public static void main(String s1[])
{
//1- create Arraylist
List list=new ArrayList();
list.add("user1");
list.add("user2");
list.add("user3");
list.add("user4");
//2- print ArrayList
System.out.println("original list ="+list);
//3- update ArrayList
list.set(1,"updated user");
System.out.println("After update list = "+list);
//4-deleting element in ArrayList
list.remove(1);
list.remove("user1");
System.out.println("After deletion list = "+list);
}
}
Output
original list =[user1, user2, user3, user4] After update list = [user1, updated user, user3, user4] After deletion list = [user3, user4]
Iteration of List Example
Iteration of List Example
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListIterator {
/**
*we can iterate ArrayList by three ways
*1- By using get(int index) method
*2- By using Iterator
*3- By using enhanced for-loop
*/
public static void main(String[] args) {
List list=new ArrayList();
list.add("user1");
list.add("user2");
list.add("user3");
list.add("user4");
list.add("user5");
System.out.println("first method");
for(int i=0;i<(list.size());i++) //simple for-loop
{
System.out.println(list.get(i)); //get() method
}
System.out.println("second method");
Iterator i=list.iterator(); //Iterator class
while(i.hasNext())
{
System.out.println(i.next());
}
System.out.println("third method");
for(Object o:list) //enhanced for-loop
{
System.out.println(o);
}
}
}
Output
first method user1 user2 user3 user4 user5 second method user1 user2 user3 user4 user5 third method user1 user2 user3 user4 user5
Vector CRUD Operation Examples
Vector CRUD Operation Examples
import java.util.List;
import java.util.Vector;
class VectorDemo
{
public static void main(String s1[])
{
//1- create Vector
Vector list=new Vector();
list.add("user1");
list.add("user2");
list.add("user3");
list.addElement("user4");//another add method
//2- print Vector
System.out.println("original list ="+list);
//3- update Vector
list.set(1,"updated user");
System.out.println("After update list = "+list);
//4-deleting element in Vector
list.remove(1);
list.remove("user1");
System.out.println("After deletion list = "+list);
}
}
Output
original list =[user1, user2, user3, user4] After update list = [user1, updated user, user3, user4] After deletion list = [user3, user4]
LinkedList CRUD Operation Examples
LinkedList CRUD Operation Examples
import java.util.LinkedList;
import java.util.List;
class LinkedListDemo
{
public static void main(String s1[])
{
//1- create LinkedList
LinkedList list=new LinkedList();
list.add("user1");
list.add("user2");
list.add("user3");
list.addFirst("first user");
list.addLast("last user");
//2- print LinkedList
System.out.println("original list ="+list);
System.out.println("first element in list is = "+list.getFirst());
System.out.println("last element in list is = "+list.getLast());
//3- update LinkedList
list.set(1,"updated user");
System.out.println("After update list = "+list);
//4-deleting element in LinkedList
list.remove(1);
list.remove("user1");
list.removeFirst();
list.removeLast();
System.out.println("After deletion list = "+list);
list.removeAll(list); //delete all element from list
}
}
Output
original list =[first user, user1, user2, user3, last user] first element in list is = first user last element in list is = last user After update list = [first user, updated user, user2, user3, last user] After deletion list = [user2, user3]
Sorting in Collection Example
Sorting in Collection Example
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
class SortingDemo
{
public static void main(String s1[])
{
List list=new LinkedList();
list.add("peter");
list.add("john");
list.add("alina");
System.out.println("Before sorting = "+list);
Collections.sort(list);
System.out.println("After sorting = "+list);
}
}
Output
Before sorting = [peter, john, alina] After sorting = [alina, john, peter]
Sorting List by Implementing comparable Interface Example
Sorting List By Implementing comparable Interface Example
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class SortDemo implements Comparable{
Integer cid;
String name;
String add;
public SortDemo()
{}
public SortDemo(Integer cid,String name,String add)
{
this.cid=cid;
this.name=name;
this.add=add;
}
public boolean equals(Object o)
{
boolean result =false;
SortDemo sortDemo=(SortDemo)o;
if(this.cid.equals(sortDemo.cid))
{
return true;
}
return result;
}
public String toString()
{
return "cid = "+cid+"\nname = "+name+"\nadd = "+add+"\n";
}
public int compareTo(Object o)
{
int k;
SortDemo sortDemo=(SortDemo)o;
k=this.name.compareToIgnoreCase(sortDemo.name); //this will sort by name
return k;
}
public static void main(String[] args) {
SortDemo s1=new SortDemo(100,"parker","MRT");
SortDemo s2=new SortDemo(89,"john","delhi");
SortDemo s3=new SortDemo(102,"smith","delhi");
List list=new ArrayList();
list.add(s1);
list.add(s2);
list.add(s3);
Collections.sort(list);
System.out.println(list);
}
}
Output
[cid = 89 name = john add = delhi , cid = 100 name = parker add = MRT , cid = 102 name = smith add = delhi ]
Sorting List by Implementing comparator Interface Examples
Sorting List by Implementing comparator Interface Examples
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
class SortByName implements Comparator {
public int compare(Object o1,Object o2)
{
TestComparator tc1=null;
TestComparator tc2=null;
int z=0;
if(o1 instanceof TestComparator && o2 instanceof TestComparator)
{
tc1=(TestComparator)o1;
tc2=(TestComparator)o2;
z=tc1.name.compareToIgnoreCase(tc2.name);
}
return z;
}
}
public class TestComparator {
Integer cid;
String name;
String add;
TestComparator(Integer cid,String name,String add)
{
this.cid=cid;
this.name=name;
this.add=add;
}
@Override
public String toString() {
return "TestComparator [cid=" + cid + ", name=" + name + ", add=" + add
+ "]";
}
public static void main(String[] args) {
TestComparator cd=new TestComparator(1001,"shalabh","canada");
TestComparator cd1=new TestComparator(2001,"yutika","london");
ArrayList list=new ArrayList();
list.add(cd1);
list.add(cd);
Collections.sort(list,new SortByName());
System.out.println(list);
}
}
Output
[TestComparator [cid=1001, name=shalabh, add=canada], TestComparator [cid=2001, name=yutika, add=london]]
Search Operations in List Examples
Search Operations in List Examples
import java.util.List;
import java.util.Vector;
class SearchDemo
{
public static void main(String s1[])
{
List list=new ArrayList();
list.add("user1");
list.add("user2");
list.add("user3");
list.add("user4");
list.add("user5");
list.add("user1");
boolean contain = list.contains("user2");
System.out.println(contain);
int index =list.indexOf("user4");
System.out.println("index is = "+index);
int lastIndex = list.lastIndexOf("user1");
System.out.println("Last Index = "+lastIndex);
}
}
Output
true index is = 3 Last Index = 5
Set Examples
LinkedHashSet Examples
LinkedHashSet Examples
import java.util.LinkedHashSet;
import java.util.Set;
public class LinkedHashSetDemo{
public static void main(String[] args) {
//it don't allow duplicate element and it allow order
Set set=new LinkedHashSet();
set.add("user1");
set.add("user2");
set.add("user3");
set.add("user5");
set.add("user4");
set.add("user5");// remove duplicate element
set.add("user5");
System.out.println("List with No duplicate element = "+set);
}
}
Output
List with No duplicate element = [user1, user2, user3, user5, user4]
HashSet Examples
HashSet Examples
import java.util.HashSet;
import java.util.Set;
public class Demo {
public static void main(String[] args) {
//it don't allow duplicate element and no order
Set set=new HashSet();
set.add("user1");
set.add("user2");
set.add("user3");
set.add("user5");
set.add("user4");
set.add("user5");
set.add("user5");
System.out.println("List with No duplicate element = "+set);
}
}
Output
List with No duplicate element = [user1, user2, user3, user5, user4]
TreeSet Examples
TreeSet Examples
import java.util.Set;
import java.util.TreeSet;
public class TestComparator {
public static void main(String[] args) {
//it allow pre-sorted and no duplcate element
Set set=new TreeSet();
set.add("user1");
set.add("user2");
set.add("user3");
set.add("user5");
set.add("user4");
set.add("user5");
set.add("user5");
System.out.println("List with No duplicate element = "+set);
}
}
Output
List with No duplicate element = [user1, user2, user3, user4, user5]
overriding hashCode() and equals() method example to remove duplicate element in Set
overriding hashCode() and equals() method example to remove duplicate element in Set
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
/**
To avoid duplicate values from HashSet you have to override
hashCode and equals method
*/
public class Demo {
String name;
String address;
Integer id;
public Demo(String name, String address,Integer id)
{
this.name=name;
this.address=address;
this.id=id;
}
public String toString()
{
return "name ="+name+" address = "+address+" id = "+id;
}
public boolean equals(Object o)
{
Demo demo=null;
if(o instanceof Demo)
{
demo=(Demo)o;
if(this.name.equals(demo.name))
{
return true;
}
}
return false;
}
public int hashCode()
{
return this.name.length()*5;
}
public static void main(String[] args) {
Demo hsd1=new Demo("john","delhi",1001);
Demo hsd2=new Demo("alia","delhi",1002);
Demo hsd3=new Demo("peter","mrt",2000);
Demo hsd4=new Demo("john","delhi",1001);
Set hash=new HashSet();
hash.add(hsd1);
hash.add(hsd2);
hash.add(hsd3);
hash.add(hsd4);
System.out.println("list with no duplicate object "+ hash);
}
}
Output
list with no duplicate object [name =alia address = delhi id = 1002, name =john address = delhi id = 1001, name =peter address = mrt id = 2000]
Simple Map example
Simple Map example
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapDemo {
public static void main(String[] args) {
Map map=new HashMap();//creating object of HashMap
//adding elements to HashMap
map.put("name","peter");
map.put("address","delhi");
map.put("age", 22);
System.out.println(map);
}
}
Output
{address=delhi, age=22, name=peter}
Map With List Examples
Map With List Examples
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapDemo {
public static void main(String[] args) {
Map map = new HashMap();
List peterPhone = new ArrayList();
peterPhone.add(99999);
map.put("peter",peterPhone);
List ramPhone = new ArrayList();
ramPhone.add(8888);
ramPhone.add(7777);
ramPhone.add(6666);
map.put("ram",ramPhone);
System.out.println("Map is "+map);
System.out.println("pater Value is "+map.get("peter"));
System.out.println("Ram Value is "+map.get("ram"));
}
}
Output
Map is {ram=[8888, 7777, 6666], peter=[99999]}
pater Value is [99999]
Ram Value is [8888, 7777, 6666]
Nested Map Examples
Nested Map Examples
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class Customer{
String name;
String age;
int cid;
Customer(String name,String age,int cid){
this.name=name;
this.age=age;
this.cid=cid;
}
@Override
public String toString() {
return "Customer [name=" + name + ", age=" + age + ", cid=" + cid + "]";
}
}
class Address{
String streetNo;
String city;
Address(String streetNo,String city){
this.streetNo=streetNo;
this.city=city;
}
@Override
public String toString() {
return "Address [streetNo=" + streetNo + ", city=" + city + "]";
}
}
public class NestedMapDemo {
public static void main(String[] args) {
Customer peter=new Customer("peter", "22",101);
Customer smith=new Customer("smith", "23",102);
Address officeAdd=new Address("107", "delhi");
Address resendialAdd=new Address("108","gurgoan");
Map customer=new HashMap();
customer.put("peter",peter);
customer.put("smith",smith);
Map address=new HashMap();
address.put("officeAdd",officeAdd);
address.put("resendialAdd", resendialAdd);
Map mainMap=new HashMap();
mainMap.put("customer",customer);
mainMap.put("address",address);
System.out.println(mainMap);
}
}
Output
{address={officeAdd=Address [streetNo=107, city=delhi], resendialAdd=Address [streetNo=108, city=gurgoan]}, customer={peter=Customer [name=peter, age=22, cid=101], smith=Customer [name=smith, age=23, cid=102]}}
Generic Examples
Generic Examples
Generic Examples
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Customer {
Integer cid;
String name;
String address;
Customer(Integer cid,String name,String address){
this.cid=cid;
this.name=name;
this.address=address;
}
@Override
public String toString() {
return "Customer [cid=" + cid + ", name=" + name + ", address="
+ address + "]";
}
public static void main(String[] args) {
Customer customer=new Customer(1001,"peter","New york");
Customer customer1=new Customer(1002,"john" ,"Pak");
List list =new ArrayList();
list.add(customer);
list.add(customer1);
Iterator i=list.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
}
Output
Customer [cid=1001, name=peter, address=New york] Customer [cid=1002, name=john, address=Pak]
Generic Map Example
Generic Map Example
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapDemo {
public static void main(String[] args) {
Map map = new HashMap();
List peterPhone = new ArrayList();
peterPhone.add(99999);
map.put("peter",peterPhone);
List ramPhone = new ArrayList();
ramPhone.add(8888);
ramPhone.add(7777);
ramPhone.add(6666);
map.put("ram",ramPhone);
System.out.println("Map is "+map);
System.out.println("pater Value is "+map.get("peter"));
System.out.println("Ram Value is "+map.get("ram"));
}
}
Output
Map is {ram=[8888, 7777, 6666], peter=[99999]}
pater Value is [99999]
Ram Value is [8888, 7777, 6666]
Generics unbounded wildcard example
Generics unbounded wildcard example
import java.util.ArrayList;
import java.util.List;
public class WildcardDemo {
//As it is a unbounded wildcard it can take anything
public void print(List<?> list)
{
System.out.println(list);
}
public static void main(String[] args) {
List<String> string = new ArrayList<String>();
List<Integer> integer=new ArrayList<Integer>();
string.add("hi");
string.add("hello");
string.add("bye");
integer.add(111);
integer.add(222);
integer.add(333);
WildcardDemo wd=new WildcardDemo();
wd.print(string);
wd.print(integer);
}
}
Output
[hi, hello, bye] [111, 222, 333]
Generics bounded Wildcard(<? extends T>) example
Generics bounded Wildcard(<? extends T>) example
import java.util.ArrayList;
import java.util.List;
public class WildcardDemo {
//As it is a unbounded wildcard it can take anything
public void print(List<? extends Number> list)
{
System.out.println(list);
}
public static void main(String[] args) {
List<String> string = new ArrayList<String>();
List<Integer>integer=new ArrayList<Integer>();
string.add("hi");
string.add("hello");
string.add("bye");
integer.add(111);
integer.add(222);
integer.add(333);
WildcardDemo wd=new WildcardDemo();
wd.print(string); //compile time error
wd.print(integer);
}
}
Output
Complie time error
Thread Safe Collection Example
Thread safe ArrayList example
Thread safe ArrayList example
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
/**
* @author shalabh
* we know that Vector is synchronized but ArrayList
* is not synchronized ,to make ArrayList synchronized
* we
*/
public class ArrayListTheadSafeDemo {
public static void main(String[] args) {
Listlist = Collections.synchronizedList(new ArrayList<String>());
list.add("user1");
list.add("user2");
list.add("user3");
// when iterating over a synchronized list, we need to synchronize access to the synchronized list
synchronized (list) { // Must be in synchronized block
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
}
Output
user1 user2 user3
Thread safe Set example
Thread safe Set example
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class HashSetTheadSafeDemo {
public static void main(String[] args) {
Set<String> set = Collections.synchronizedSet(new HashSet<String>());
set.add("user1");
set.add("user2");
set.add("user3");
// when iterating over a synchronized set, we need to synchronize access to the synchronized set
synchronized (set) {
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
}
Output
user2 user1 user3



