- Sort HashMap according to Value
 - Ways to Iterate HashMap
 - COMPARATOR::: Sort Employee Object using employee id
 - COMPARATOR:: Sort simple ArrayList of STRING & INTEGER
 - Comparable:::::Sorting Book Object according to Book ID
 - Comparable:::::Sort an object using comparable
 - Comparable :::::Sort Employee OBJECT according to Names
 - SortMapByValue_TreeMap
 - Sort Map According to its Value (Used Comparator ,List & LinkedHashMap)
 - Sort Map by Values
 - Sort Map using comparator
 - Sort Map by Key
 - Sort map Using KEY
 
Java SE Guide,Java Tutorial,amit,amit manjhi,java, spring, sql,plsql,pl sql,webservices,oracle,java tutorial, interview questions,interview coding,java2080,java 20:80,manjhi,2080,amit manjhi 2080,amit manjhi 2080 blogger, amitin2019, manjhi blogger,java interview questions, java blog,amit manjhi software engineer,amit manjhi,
Tuesday, March 5, 2019
Collection_Links
Thursday, February 7, 2019
Sort Map According to its Value (Used Comparator ,List & LinkedHashMap)
- package sort_Map_byValue;
 - import java.util.*;
 - //Program to sort Map value
 - //Map--->copy entry to List--->sort List using comparator-->copy to new Map-->display
 - public class SortMapbyValue
 - {
 - public static void main(String[] args)
 - {
 - //Map create
 - Map <String,Integer> map = new HashMap<>();
 - map.put("A", 65);
 - map.put("B", 60);
 - map.put("C", 75);
 - map.put("D", 97);
 - map.put("E", 90);
 - map.put("F", 85);
 - map.put("G", 81);
 - map.put("H", 75);
 - //copy to List
 - //create linked List & pass entryset--> as it maintains the insertion order)
 - List<Map.Entry<String,Integer>> list = new LinkedList<>(map.entrySet());
 - //Sort List
 - //MyComparator mc = new MyComparator();
 - Collections.sort(list, new MyComparator());
 - //copy the sorted to new LinkedHashMap (temp)
 - Map<String,Integer> sortedMap = new LinkedHashMap<>();
 - for(Map.Entry<String, Integer> entry : list)
 - {
 - sortedMap.put(entry.getKey(), entry.getValue());
 - }
 - //Dispaly the Sorted Map (Soerted According to Value)
 - for(Map.Entry<String,Integer> entry : sortedMap.entrySet())
 - {
 - System.out.println(entry.getKey() +" : "+entry.getValue());
 - }
 - }
 - }
 - =================================================
 - package sort_Map_byValue;
 - import java.util.Comparator;
 - import java.util.Map;
 - public class MyComparator implements Comparator<Map.Entry<String, Integer>>
 - {
 - @Override
 - public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2)
 - {
 - return (o1.getValue()).compareTo(o2.getValue());
 - }
 - }
 - ==================================================
 
Sort Map by Values
package test;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class SortMapbyValues
{
public static boolean ASC = true;
public static boolean DESC = false;
public static void main(String[] args)
{
Map<String, Integer> unsortMap = new HashMap<>();
unsortMap.put("B", 55);
unsortMap.put("A", 80);
unsortMap.put("D", 20);
unsortMap.put("C", 70);
System.out.println("Before sorting......");
printMap(unsortMap);
System.out.println("After sorting ascending order......");
Map<String, Integer> sortedMapAsc = sortByComparator(unsortMap, ASC);
printMap(sortedMapAsc);
System.out.println("After sorting descindeng order......");
Map<String, Integer> sortedMapDesc = sortByComparator(unsortMap, DESC);
printMap(sortedMapDesc);
}
private static Map<String, Integer> sortByComparator(Map<String, Integer> unsortMap, final boolean order)
{
List<Entry<String, Integer>> list = new LinkedList<Entry<String, Integer>>(unsortMap.entrySet());
// Sorting the list based on values
Collections.sort(list, new Comparator<Entry<String, Integer>>()
{
public int compare(Entry<String, Integer> o1,
Entry<String, Integer> o2)
{
if (order)
{
return o1.getValue().compareTo(o2.getValue());
}
else
{
return o2.getValue().compareTo(o1.getValue());
}
}
});
// Maintaining insertion order with the help of LinkedList
Map<String, Integer> sortedMap = new LinkedHashMap<String, Integer>();
for (Entry<String, Integer> entry : list)
{
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;
}
public static void printMap(Map<String, Integer> map)
{
for (Entry<String, Integer> entry : map.entrySet())
{
System.out.println("Key : " + entry.getKey() + " Value : "+ entry.getValue());
}
}
}
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class SortMapbyValues
{
public static boolean ASC = true;
public static boolean DESC = false;
public static void main(String[] args)
{
Map<String, Integer> unsortMap = new HashMap<>();
unsortMap.put("B", 55);
unsortMap.put("A", 80);
unsortMap.put("D", 20);
unsortMap.put("C", 70);
System.out.println("Before sorting......");
printMap(unsortMap);
System.out.println("After sorting ascending order......");
Map<String, Integer> sortedMapAsc = sortByComparator(unsortMap, ASC);
printMap(sortedMapAsc);
System.out.println("After sorting descindeng order......");
Map<String, Integer> sortedMapDesc = sortByComparator(unsortMap, DESC);
printMap(sortedMapDesc);
}
private static Map<String, Integer> sortByComparator(Map<String, Integer> unsortMap, final boolean order)
{
List<Entry<String, Integer>> list = new LinkedList<Entry<String, Integer>>(unsortMap.entrySet());
// Sorting the list based on values
Collections.sort(list, new Comparator<Entry<String, Integer>>()
{
public int compare(Entry<String, Integer> o1,
Entry<String, Integer> o2)
{
if (order)
{
return o1.getValue().compareTo(o2.getValue());
}
else
{
return o2.getValue().compareTo(o1.getValue());
}
}
});
// Maintaining insertion order with the help of LinkedList
Map<String, Integer> sortedMap = new LinkedHashMap<String, Integer>();
for (Entry<String, Integer> entry : list)
{
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;
}
public static void printMap(Map<String, Integer> map)
{
for (Entry<String, Integer> entry : map.entrySet())
{
System.out.println("Key : " + entry.getKey() + " Value : "+ entry.getValue());
}
}
}
Sort Map using comparator
package test;
import java.util.*;
public class SortMap_TreeMap
{
public static void main(String[] args)
{
Map <String,String> unsortedmap = new HashMap<>();
unsortedmap.put("one", "one");
unsortedmap.put("tree", "tree");
unsortedmap.put("mount", "mount");
unsortedmap.put("bird", "bird");
unsortedmap.put("house", "house");
System.out.println("***************Unsorted Map**************");
printmap(unsortedmap);
System.out.println("************After sorting Map*************");
Map<String, String> sortedMap = sortMap(unsortedmap);
printmap(sortedMap);
  
}
private static Map<String, String> sortMap(Map<String, String> unsortedmap)
{
// copy unsortedmap to TreeMap
TreeMap <String,String> tm = new TreeMap<>(new SortMapComparator());
for(Map.Entry<String,String> entry : unsortedmap.entrySet())
{
tm.put(entry.getKey(), entry.getValue());
}
return tm;
}
private static void printmap(Map<String, String> unsortedmap)
{
for(Map.Entry<String,String> entry : unsortedmap.entrySet())
{
System.out.println(entry.getKey()+" : "+entry.getValue());
}
  
}
}
 
import java.util.*;
public class SortMap_TreeMap
{
public static void main(String[] args)
{
Map <String,String> unsortedmap = new HashMap<>();
unsortedmap.put("one", "one");
unsortedmap.put("tree", "tree");
unsortedmap.put("mount", "mount");
unsortedmap.put("bird", "bird");
unsortedmap.put("house", "house");
System.out.println("***************Unsorted Map**************");
printmap(unsortedmap);
System.out.println("************After sorting Map*************");
Map<String, String> sortedMap = sortMap(unsortedmap);
printmap(sortedMap);
}
private static Map<String, String> sortMap(Map<String, String> unsortedmap)
{
// copy unsortedmap to TreeMap
TreeMap <String,String> tm = new TreeMap<>(new SortMapComparator());
for(Map.Entry<String,String> entry : unsortedmap.entrySet())
{
tm.put(entry.getKey(), entry.getValue());
}
return tm;
}
private static void printmap(Map<String, String> unsortedmap)
{
for(Map.Entry<String,String> entry : unsortedmap.entrySet())
{
System.out.println(entry.getKey()+" : "+entry.getValue());
}
}
}
=========================================
package test;
import java.util.Comparator;
public class SortMapComparator implements Comparator <String>
{
 @Override
 public int compare(String s1 , String s2) 
 {
     return s1.compareTo(s2);
 }
}
Wednesday, February 6, 2019
Sort Map by Key
package interview;
import java.util.*;
//Sort HashMap according to key
//Map -->Map(to keeep sorted items)---->TreeMap---(default comparable)-->Sorted
public class SortHashMap_1 {
public static void main(String[] args)
{
Map <String, String> map = new HashMap<>();
map.put("orange", "orange");
map.put("guava", "guava");
map.put("mango", "mango");
map.put("pineapple", "pineapple");
map.put("banana", "banana");
map.put("grapes", "grapes");
System.out.println(map);
//TreeMap is a class which follows some sorting order for elements
Map <String,String> map2 = new TreeMap(map);
//Now display
System.out.println("*********************Sorted *************************");
for(Map.Entry<String,String> entry : map2.entrySet())
{
  
System.out.println(entry.getKey() +" : "+entry.getValue());
}
 
 
}
}
import java.util.*;
//Sort HashMap according to key
//Map -->Map(to keeep sorted items)---->TreeMap---(default comparable)-->Sorted
public class SortHashMap_1 {
public static void main(String[] args)
{
Map <String, String> map = new HashMap<>();
map.put("orange", "orange");
map.put("guava", "guava");
map.put("mango", "mango");
map.put("pineapple", "pineapple");
map.put("banana", "banana");
map.put("grapes", "grapes");
System.out.println(map);
//TreeMap is a class which follows some sorting order for elements
Map <String,String> map2 = new TreeMap(map);
//Now display
System.out.println("*********************Sorted *************************");
for(Map.Entry<String,String> entry : map2.entrySet())
{
System.out.println(entry.getKey() +" : "+entry.getValue());
}
}
}
Sort Map using Key
package test;
import java.util.Map;
import java.util.TreeMap;
public class Sorting_TreeMap_DNSO {
public static void main(String[] args)
{
Map <String,String> map = new TreeMap<>(); //Sorting : Default Natural(Keys)
map.put("orange", "orange");
map.put("guava", "guava");
map.put("mango", "mango");
map.put("pineapple", "pineapple");
map.put("banana", "banana");
System.out.println(map);
}
}
import java.util.Map;
import java.util.TreeMap;
public class Sorting_TreeMap_DNSO {
public static void main(String[] args)
{
Map <String,String> map = new TreeMap<>(); //Sorting : Default Natural(Keys)
map.put("orange", "orange");
map.put("guava", "guava");
map.put("mango", "mango");
map.put("pineapple", "pineapple");
map.put("banana", "banana");
System.out.println(map);
}
}
Program to Reverse an array
Solution 1 - Revere array in Place (not recommended)
package interview;
import java.util.Arrays;
import java.util.List;
public class Reverse_Array {
public static void main(String[] args)
{
int[] arr = {1,2,3,4,5,6,7,8,9,10};
System.out.println("Before : "+Arrays.toString(arr));
/*List<int[]> l = Arrays.asList(arr);
System.out.println(l.toArray());*/
for(int i =0 , j = arr.length-1; i<j; i++,j--)
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
System.out.println("After : "+Arrays.toString(arr));
}
}
Solution 2 - Revere array in Place (for interview)
package phase_one;
import java.util.Arrays;
public class ReverseArray_Using_ForLoop 
{
 public static void main(String[] args) 
 {
   int[] arr = new int[] {7,84,3,9,11,6};
   System.out.println("Before: "+Arrays.toString(arr));
   for(int i= 0;i<arr.length/2;i++)
   {
    int temp = arr[i];
    arr[i] =   arr[arr.length-i-1];
    arr[arr.length-i-1] = temp;
   }
   System.out.println("After: "+Arrays.toString(arr));
 }
}
Solution 3 - Revere array Using Collections
package phase_one;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class ReverseArray_Using_ArrayList {
 public static void main(String[] args) 
 {
  String[] arr = {"apple", "tree", "play"};
       System.out.println("before: " + Arrays.toString(arr) );
       List<String> listOfProducts = Arrays.asList(arr);      
       Collections.reverse(listOfProducts);
       String[] reversed = listOfProducts.toArray(arr);
       System.out.println("after: " + Arrays.toString(reversed) );
       System.out.println("**************************************");
       Integer[] arr2 = new Integer[] {1,2,3,4,5};
      // List<Integer> list = Arrays.asList(arr2);       
      System.out.println(Arrays.toString(arr2));
      List<Integer> li = Arrays.asList(arr2);  //--array to List
      Collections.reverse(li);     // reverse List
      Integer[] rev = li.toArray(arr2);
      System.out.println(Arrays.toString(rev));
 }
}
Subscribe to:
Comments (Atom)
- 
Exception in thread "main" java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell at org.apache.poi.xss...
 - 
package multithreading; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; class MyThread4 extends...
 - 
package multithreading; import java.util.concurrent.locks.ReentrantLock; class MyyThread extends Thread { static ReentrantLock l = n...