^

MAPS

A Map defines mapping from keys to values. The pair is called an entry. A map does not allow duplicate keys. In other words, Keys are unique but values can be repeated. For example, in RollNo and Grade Map(as shown below), Grades are treated as values and RollNos are treated as keys. Rollno can not be repeated but same Grades can be held by multiple RollNos.
Remember that keys and values should be objects.
Map Interface
A Map is not a Collection, because Map interface does not extend Collection interface. Methods Provided by Map interface:

HashMap<k, v>, LinkedHashMap<K,v> & HashTable<k,v> Classes

The classes HashMap and HashTable do not maintain insertion order of entries like in HashSet class. Whereas, the LinkedHashMap maintains insertion ordered of entries. The HashMap class allows one null key and it is not thread-safe, whereas HashTable do not allow null key and it is thread safe too.
The following program demonstrates the use of HashMap class:
import java.util.HashMap;
import java.util.Random;

public class HashMap1_rand 
{
public static void main(String args[])
{
	Random rnd=new Random();
	HashMap<Integer, Integer> m=new HashMap<Integer, Integer>();
	
	for (int i = 1; i <= 1000; i++)
	{
		int r=rnd.nextInt(10);
	Integer occr=	m.get(r);
	if(occr==null)
		occr=1;
	else
		occr=occr+1;
		m.put(r,occr );
	}
	System.out.println(m);
}
	
}

              
Output
{0=106,1=94,2=100,3=96,4=94,5=108,6=94,7=112,8=93,9=103}

              

Arrays & Collection Classes

The java.util.Arrays class is basically a set of static methods. These methods are used to work with arrays of primitive types and class types. It consists of various methods for manipulating arrays such as sorting, searching, printing content of arrays, etc.
Key Methods of Arrays class are written below:
import java.util.*;
//Arrays.toString(array Variable): to print all elemetns of array
class Subject
{
	String name;
	Subject(String n)
	{
		name=n;
	}
	public String toString()
	{
		return (name);
	}
}
class array
{
	public String toString(){ return "oke";}
	
	void primitives() //using Array.toString()
	{
		 int a[]={2,3,4,5,6,78,8,9};
		 System.out.println("toString()-Primitives:"+Arrays.toString(a));
	}
	void nonPrimitive() //using Array.toString()
	{
		String []ar={"CPP","Java","dotNet"};
		String all=Arrays.toString(ar);
		 System.out.println("toString()-Objects:"+all);
	}
	//initializing integer values in arraylist
	void asList_prmtv()//using Array.asList()
	{
		List <Integer>lst=new ArrayList<Integer>(Arrays.asList(2,4,5,7,8,9,9));
		System.out.println("asList()-Primitive:"+lst);
	}

	void asList_objs()// initializing objects in arraylist
	{
		Subject s1=new Subject("Java");
		Subject s2=new Subject("PHP");
	
		List <Subject>lst=new ArrayList<Subject>(Arrays.asList(s1,s2));
		System.out.println("asList()-Objects:"+lst);
	}
	
	void deep()// using Array.deepCopy()
	{
		int a[][]={ {3,4,5,6},{7,8,9,10}  };
		System.out.println("deepCopy():"+Arrays.deepToString(a));
	}
	
	void fill() // using Arrays.fill()
	{
		int a[]=new int[10];
		Arrays.fill(a,100);
		System.out.println("fill():"+Arrays.toString(a));
		
		Arrays.fill(a, 5,10,200);// fill 200 from 5th to 9th index
		System.out.println("fill():"+Arrays.toString(a));
		
	}
	void copy()// copy array to other
	{
		int a[]={4,6,7,8,9};
		int b[]=new int[5];
		
		System.arraycopy(a, 0, b, 0, a.length);
		System.out.println("arrayCopy():"+Arrays.toString(b));
	}
	
	void match()
	{
		int a[]={1,2,3,4};
		int b[]={1,2,3,4};
		System.out.println("equals():"+Arrays.equals(a, b));
	}
	
	void sorting()//sorting array 
	{
		int a[]={1,12,8,4};
		Arrays.sort(a);
		System.out.println("sort():"+Arrays.toString(a));
		//- desc order
		String names[]={"Raka","shaka","sandy","aman"};
		Arrays.sort(names, Collections.reverseOrder());
		
		System.out.println("rev. sort():"+Arrays.toString(names));
		//--------------------------ignore case matter--------
		String names3[]={"Raka","shaka","sandy","aman"};
		Arrays.sort(names3,String.CASE_INSENSITIVE_ORDER);
		System.out.println("ign. case sort():"+Arrays.toString(names3));
		
	}
void Pmtv_search()// binary search
	{
		int qty[]={4,6,78,99,100,800};
		int pos= Arrays.binarySearch(qty, 99);
		System.out.println("binarySearch():"+pos);
	}
	void shuffels()
	{
		ArrayList<String> nos=new ArrayList<String>( Arrays.asList("101","103","104","106"));
		Collections.shuffle(nos,new Random());
		System.out.println("suffle():"+ nos);
	}
}
public class Array_A_CLass {

	public static void main(String[] args)
	{
		array a=new array();
a.primitives();
a.nonPrimitive();
a.asList_prmtv();
a.asList_objs();
a.deep();
a.fill();
a.copy();
a.match();
a.sorting();
a.shuffels();
a.Pmtv_search();

	}

}
            
              Output
               toString()-Primitives:[2,3,4,5,6,78,8,9]
               toString()-Objects:[CPP, Java, dotNet]
               asList()-Primitive:[2, 4, 5, 7, 8, 9, 9]
               asList()-Objects:[Java, PHP]
               deepCopy():[[3, 4, 5, 6],[7, 8, 9, 10]]
               fill():[100, 100, 100, 100, 100, 100, 100, 100, 100, 100]
               fill():[100, 100, 100, 100, 100, 200, 200, 200, 200, 200]
               arrayCopy():[4, 5, 6, 7, 8, 9]
               equals():true
               sort():[1, 4, 8, 12]
               rev.sort():[shaka, sandy, aman, Raka]
               ignore-case sort():[aman, Raka, sandy, shaka]
               suffle():[103, 106, 101, 104]
               binarySearch(): 3

java.util.Collections

Key methods of Collections class:
import java.util.*;

public class Collections_Class {

	public static void main(String[] args) 
	{
		ArrayList<String> names=new ArrayList<String>();
		names.add("Sandy");
		names.add("Mandy");
		names.add("Aman");
		names.add("Raman");
		
		System.out.println("Unsorted List:"+names);
		Collections.sort(names);
		System.out.println("Sorted List:"+names);
		
		int pos=Collections.binarySearch(names, "Raman");
		System.out.println("Found at:"+pos);
		
		Collections.reverse(names);
		System.out.println("Reversed List:"+names);
	
		Collections.shuffle(names);
		System.out.println("Shuffled List:"+names);
		
		Collections.swap(names, 1, 2);
		System.out.println("After Swap List:"+names);
				
	}

}

           
               Output
                  Unsorted List:[Sandy, Mandy, Aman, Raman]
                  Sorted List:[Aman, Mandy,Raman, Sandy]
                  Found at:2
                  Reversed List:[Sandy, Raman, Mandy, Aman]
                  Shuffled List:[Aman, Mandy, Sandy, Raman]
                  After Swap List:[Aman, Sandy, Mandy, Raman]	

           

About the Author
Rajesh K. Bansal (SCJP-Sun Certified Java Programmer)
20 Years experience in Training & Development. Founder of realJavaOnline.com, loves coding in Java(J2SE, J2EE), C++,PHP, Python, AngularJS, Android,MERN Stack(MongoDB,Express,ReactJS,NodeJS). If you like tutorials and want to know more in depth about Java , buy his book "Real Java" available on amazon.in.
#Email : bcebti@gmail.com #Contact : 98722-46056
Available on Amazon
Card image cap
Under the guidance of Founder & Author of "realJavaOnline.com". M:9872246056
Card image cap