satyabrata25
asked on
Comparing ArrayList elements with Hash map Keys
I have a arraylist and hash map .
I want wen ever there is matching in arraylst elemtns and hashmap keys
corresponding vales sud be put in a new list.
The values of HashMap is list.
My given codeis failing somewhere between.
Please check..
I want wen ever there is matching in arraylst elemtns and hashmap keys
corresponding vales sud be put in a new list.
The values of HashMap is list.
My given codeis failing somewhere between.
Please check..
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class test5
{
public ArrayList<String> getData(HashMap<String, ArrayList<String>> AMap,ArrayList<String> temp)
{
System.out.println(" Invloking getData ");
Set<String> tempSet = new HashSet<String>(temp);
System.out.println("getData "+tempSet);
Set commonKeys = new HashSet(AMap.keySet());
ArrayList<String> ruleGroupIds = new ArrayList<String>(commonKeys);
commonKeys.retainAll( tempSet );
System.out.println(commonKeys);
for (Object key : commonKeys)
{
ArrayList<String> value = (ArrayList<String>) AMap.get(key);
ruleGroupIds.addAll(value);
}
System.out.println("result " + ruleGroupIds);
return ruleGroupIds;
}
public static void main(String args[])
{
ArrayList<String> compareList = new ArrayList<String>();
compareList.add("A"); compareList.add("B"); compareList.add("D");
ArrayList<String> superList = new ArrayList<String>();
ArrayList<String> ruleGroupIds = new ArrayList<String>();
ArrayList<String> ruleGroupIdsss = new ArrayList<String>();
ruleGroupIdsss.add("1234");ruleGroupIdsss.add("12345");
superList.add("A");superList.add("B");superList.add("C");superList.add("E");//superList.add("D");
HashMap<String, ArrayList<String>> hm = new HashMap<String, ArrayList<String>>();
hm.put("B",ruleGroupIdsss);hm.put("D",ruleGroupIdsss);hm.put("A",ruleGroupIdsss);hm.put("E",ruleGroupIdsss);
hm.put("C",ruleGroupIdsss);
test5 t = new test5();
t.getData(hm, compareList);
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.