Skip to content

Commit a5e0508

Browse files
updated the code
1 parent 5bf2954 commit a5e0508

12 files changed

Lines changed: 449 additions & 15 deletions

File tree

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.java.core.collections;
2+
3+
import java.util.Map;
4+
5+
import com.java.core.collections.exceptions.MapOperationException;
6+
7+
public interface MapSort {
8+
9+
10+
public Map sortMapByValues(Map map)throws MapOperationException;
11+
Map<String, String> sortMapByKeys(Map<String, String> map) throws MapOperationException;
12+
13+
14+
15+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.java.core.collections;
2+
3+
import static com.java.core.collections.utils.MapUtils.getEntrySet;
4+
5+
import java.awt.List;
6+
import java.util.ArrayList;
7+
import java.util.Collections;
8+
import java.util.LinkedHashMap;
9+
import java.util.Map;
10+
import java.util.Map.Entry;
11+
import java.util.Set;
12+
import java.util.TreeMap;
13+
14+
import com.java.core.collections.exceptions.MapOperationException;
15+
import com.java.core.collections.utils.MapUtils;
16+
17+
public class MapSorting implements MapSort {
18+
19+
@Override
20+
public Map<String, String> sortMapByKeys(Map<String, String> map) throws MapOperationException {
21+
22+
TreeMap<String, String> treeMap=new TreeMap<>(map);
23+
return treeMap;
24+
// TODO Auto-generated method stub
25+
26+
}
27+
28+
@Override
29+
public Map sortMapByValues(Map map) throws MapOperationException {
30+
31+
// Sort method needs a List, so let's first convert Set to List in Java
32+
@SuppressWarnings("unchecked")
33+
ArrayList<Entry<String, String>> listOfEntries = new ArrayList<Entry<String, String>>(MapUtils.getEntrySet(map));
34+
35+
// sorting HashMap by values using comparator
36+
Collections.sort(listOfEntries, MapUtils.comparator);
37+
38+
LinkedHashMap<String, String> sortedByValue = new LinkedHashMap<String, String>(listOfEntries.size());
39+
40+
// copying entries from List to Map
41+
for(Entry<String, String> entry : listOfEntries){
42+
sortedByValue.put(entry.getKey(), entry.getValue());
43+
}
44+
45+
System.out.println("HashMap after sorting entries by values ");
46+
return sortedByValue;
47+
// TODO Auto-generated method stub
48+
49+
}
50+
51+
52+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.java.core.collections;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
import com.java.core.collections.exceptions.MapOperationException;
7+
import com.java.core.collections.utils.MapUtils;
8+
9+
public class Test {
10+
11+
12+
public static void main(String[] args) {
13+
14+
MapSorting sorting=new MapSorting();
15+
HashMap<String, String> codenames = new HashMap<String, String>();
16+
17+
codenames.put("JDK 1.1.4", "Sparkler");
18+
codenames.put("J2SE 1.2", "Playground");
19+
codenames.put("J2SE 1.3", "Kestrel");
20+
codenames.put("J2SE 1.4", "Merlin");
21+
codenames.put("J2SE 5.0", "Tiger");
22+
codenames.put("Java SE 6", "Mustang");
23+
codenames.put("Java SE 7", "Dolphin");
24+
try {
25+
System.out.println("Print The Map Entries Before Sorting");
26+
MapUtils.printMapEntry(codenames) ;
27+
Map map=sorting.sortMapByKeys(codenames);
28+
System.out.println("Print The Map Entries Before Sorting");
29+
MapUtils.printMapEntry(map);
30+
Map map2=sorting.sortMapByValues(codenames);
31+
MapUtils.printMapEntry(map2);
32+
33+
} catch (MapOperationException e) {
34+
// TODO Auto-generated catch block
35+
e.printStackTrace();
36+
}
37+
38+
}
39+
40+
41+
42+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.java.core.collections.exceptions;
2+
3+
public class CollectionExcpetion extends Exception {
4+
5+
6+
public CollectionExcpetion(String exception)
7+
{
8+
super(exception);
9+
}
10+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.java.core.collections.exceptions;
2+
3+
public class MapOperationException extends CollectionExcpetion {
4+
5+
6+
public MapOperationException(String exception) {
7+
super(exception);
8+
// TODO Auto-generated constructor stub
9+
}
10+
11+
}
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package com.java.core.collections.test;
2+
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
9+
import com.java.core.collections.MapSorting;
10+
import com.java.core.collections.exceptions.MapOperationException;
11+
import com.java.core.collections.utils.MapUtils;
12+
13+
public class TestMapOperations {
14+
15+
Map map;
16+
17+
public static void main(String[] args) throws MapOperationException, IOException {
18+
19+
20+
MapSorting sorting=new MapSorting();
21+
HashMap<String, String> mapData = new HashMap<String, String>();
22+
23+
mapData.put("EDTSUPPORT", "Twinkle Urade");
24+
mapData.put("EDTBAU", "Prashant Sarkar");
25+
mapData.put("CCS", "Pooja Yadav");
26+
mapData.put("BANK", "Ankita Mudgil");
27+
mapData.put("CARD", "Rahat Ali");
28+
mapData.put("CCSSUPPORT", "Rahul Gorane");
29+
mapData.put("EDP", "Ritesh Wadhigare");
30+
mapData.put("CARD ONSITE", "Rahul Gorane");
31+
32+
33+
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
34+
int caseVal = 0;
35+
while(true)
36+
{
37+
System.out.println("");
38+
System.out.println("Press 1 Print Map Data ");
39+
System.out.println("Press 2 To Sort The Map By Key ");
40+
System.out.println("Press 3 To Sort The Map By Value ");
41+
System.out.println("Press 0 To Exit the Programme ");
42+
String inputFromConsole=input.readLine();
43+
44+
if(MapUtils.isInteger(inputFromConsole))
45+
caseVal = Integer.parseInt(inputFromConsole);
46+
47+
switch(caseVal) {
48+
case 1:
49+
System.out.println("Print The Map Data");
50+
MapUtils.printMapEntry(mapData) ;
51+
52+
break;
53+
case 2:
54+
Map map1=sorting.sortMapByKeys(mapData);
55+
MapUtils.printMapEntry(map1) ;
56+
break;
57+
case 3:
58+
Map map2=sorting.sortMapByValues(mapData);
59+
MapUtils.printMapEntry(map2) ;
60+
break;
61+
case 0:
62+
System.out.println("exiting the system....");
63+
System.exit(0);;
64+
default:
65+
System.out.println("Invalid Option");
66+
break;
67+
68+
69+
}
70+
}
71+
72+
}
73+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.java.core.collections.utils;
2+
3+
import static com.java.core.collections.utils.MapUtils.getEntrySet;
4+
5+
import java.util.Map;
6+
import java.util.Scanner;
7+
import java.util.Map.Entry;
8+
import java.util.Set;
9+
10+
import com.java.core.collections.exceptions.MapOperationException;
11+
12+
public class MapUtils extends MapUtilsHelper {
13+
14+
15+
16+
public static boolean isInteger(String string)
17+
{
18+
Scanner scanner=new Scanner(string);
19+
try {
20+
if(scanner.hasNextInt())
21+
return true;
22+
else
23+
return false;
24+
}
25+
finally {
26+
scanner.close();
27+
}
28+
}
29+
30+
@SuppressWarnings("unchecked")
31+
public static Set<Entry<String,String>> getEntrySet(Map<String,String> map) throws MapOperationException
32+
{
33+
if(map==null)
34+
throw new MapOperationException("Map Is Empty or Null");
35+
Set<Entry<String, String>> set=map.entrySet();
36+
return set;
37+
38+
39+
}
40+
41+
public static void printMapEntry(Map map) throws MapOperationException
42+
{
43+
Set<Entry<String, String>> entrySet=getEntrySet(map);
44+
printMapEntrySet(entrySet);
45+
}
46+
47+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.java.core.collections.utils;
2+
3+
import java.util.Set;
4+
import java.util.Comparator;
5+
import java.util.Map;
6+
import java.util.Map.Entry;
7+
8+
public class MapUtilsHelper {
9+
10+
;
11+
12+
protected static void printMapEntrySet(Set<Entry<String,String>> entry)
13+
{
14+
for(Entry<String,String> entries:entry )
15+
System.out.println("'Key': "+entries.getKey()+" 'Value:' "+entries.getValue());
16+
}
17+
18+
public static Comparator<Entry<String,String>> comparator=new Comparator<Entry<String,String>>() {
19+
20+
@Override
21+
public int compare(Entry<String, String> val1, Entry<String, String> val2) {
22+
// TODO Auto-generated method stub
23+
return val1.getValue().compareTo(val2.getValue());
24+
}
25+
26+
};
27+
}

CoreJava-String/src/main/java/com/java/core/string/Test.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ public static void main(String[] args) throws StringOperationException, IOExcept
8787
//printWordSorted(consolString);
8888
//System.out.println(sortUniqWord(consolString));
8989

90-
System.out.println(StringUtils.sortString("aabbccaa"));
91-
StringUtils.printWordcount("aa bb cc aa");
90+
//System.out.println(StringUtils.sortString("aabbccaa"));
91+
System.out.println(StringUtils.reversString("ad bc cm az"));
9292

9393
}
9494

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package com.java.core.string.test;
2+
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
7+
import com.java.core.string.exception.StringOperationException;
8+
import com.java.core.string.util.StringUtils;
9+
10+
public class TestStringUtills {
11+
12+
public static void main(String[] args) throws IOException, StringOperationException {
13+
14+
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
15+
int caseVal = 0;
16+
while(true)
17+
{
18+
System.out.println("");
19+
System.out.println("Press 1 To Sort The Sentence ");
20+
System.out.println("Press 2 To Sort The Word ");
21+
System.out.println("Press 3 To Remove The duplicate Word ");
22+
System.out.println("Press 4 To Remove The duplicate Char ");
23+
System.out.println("Press 5 To Short The Sentence With Unique ");
24+
System.out.println("Press 6 To Print Word Count ");
25+
System.out.println("Press 0 To Exit the Programme ");
26+
String inputFromConsole=input.readLine();
27+
28+
if(StringUtils.isInteger(inputFromConsole))
29+
caseVal = Integer.parseInt(inputFromConsole);
30+
31+
switch(caseVal) {
32+
case 1:
33+
System.out.println("Enter Sentence To Sort");
34+
try {
35+
System.out.println(StringUtils.sortStrings(input.readLine()));
36+
}
37+
catch(StringOperationException ex)
38+
{
39+
System.out.println(ex.getMessage());
40+
41+
}
42+
break;
43+
case 2:
44+
System.out.println("Enter Word To Sort");
45+
System.out.println(StringUtils.sortString(input.readLine()));
46+
break;
47+
48+
case 3:
49+
System.out.println("To Remove The duplicate Word");
50+
System.out.println(StringUtils.removeDuplicateWordFromStrings(input.readLine()));
51+
break;
52+
53+
case 4:
54+
System.out.println("To Remove The duplicate Char");
55+
System.out.println(StringUtils.removeDulicateCharFromString(input.readLine()));
56+
break;
57+
58+
case 5:
59+
System.out.println("To Short The Sentence With Unique");
60+
System.out.println(StringUtils.sortUniqStrings(input.readLine()));
61+
break;
62+
63+
case 6:
64+
System.out.println("Print Word Count");
65+
StringUtils.printWordcount(input.readLine());
66+
break;
67+
68+
case 0:
69+
System.exit(0);;
70+
default:
71+
System.out.println("Invalid Option");
72+
break;
73+
}
74+
75+
}
76+
77+
}
78+
79+
}

0 commit comments

Comments
 (0)