Search...
FAQs
Subscribe
Pie
FAQs
Recent topics
Flagged topics
Hot topics
Best topics
Search...
Search within Beginning Java
Search Coderanch
Advance search
Google search
Register / Login
Win a copy of
Eclipse Collections Categorically: Level up your programming game
this week in the
Open Source Projects
forum!
Post Reply
Bookmark Topic
Watch Topic
New Topic
programming forums
Java
Mobile
Certification
Databases
Caching
Books
Engineering
Micro Controllers
OS
Languages
Paradigms
IDEs
Build Tools
Frameworks
Application Servers
Open Source
This Site
Careers
Other
Pie Elite
all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Campbell Ritchie
Tim Cooke
paul wheaton
Ron McLeod
Jeanne Boyarsky
Sheriffs:
Paul Clapham
Saloon Keepers:
Tim Holloway
Roland Mueller
Bartenders:
Forum:
Beginning Java
hash map error
Puneet N Vyas
Ranch Hand
Posts: 61
posted 17 years ago
Number of slices to send:
Optional 'thank-you' note:
Send
why the following code,which contains hashmap even after being populated with keys/values contains null,that is patternAsso hashmap contains null value,can any one tell why it happened.
thanks for support
import java.lang.*; import java.util.*; import java.io.*; import java.util.regex.*; //move to line 288 in after opening this file in Jcreator public class hash { public static void main(String args[]) { Vector Candidate2=new Vector();//for holding candidate patterns of length 2 Vector Candidate3=new Vector();//for holding candidate patterns of length 3 Map <String,Integer> CandidateSeq1 = new HashMap<String,Integer>(); Map <String,String> patternasso = new HashMap<String,String>(); Map <String,String> patternAsso= new HashMap<String,String>(); String items[] = {"a","b","c","d","e","f"}; Vector pattern_Strings=new Vector(); Vector patternStrings3=new Vector();//for storing pattern strings of size 3 //for pattern strings regular expression,for patterns oflength 2 String p1[]={"a.* ","b.* ","c.* ","d.* ","e.* ","f.* "}; String p2[]={".*a",".*b",".*c",".*d",".*e",".*f"}; String op[]=new String[p1.length*p1.length]; for(int ii=0, kk=0;ii<p1.length;ii++) { for(int jj=0;jj<p1.length;jj++,kk++) { op[kk]=p1[ii]+p2[jj]; pattern_Strings.add(op[kk]); //adding to vector pattern_Strings patterns as a.* .*a } } //regular expression pattern strings for pattern of length 3 for(int hh=0;hh<p1.length;hh++) { for(int mm=0;mm<items.length;mm++) { for(int nn=0;nn<items.length;nn++) { patternStrings3.add(p1[hh]+items[mm]+items[nn]); //filew.write((String)p1[hh]+items[mm]+items[nn]); // System.out.println(p1[hh]+items[mm]+items[nn]); } } } //storing patterns of length 3 /* for(int hh=0;hh<items.length;hh++) { for(int mm=0;mm<items.length;mm++) { for(int nn=0;nn<items.length;nn++) { patternStrings3.add(p1[hh]+items[mm]+items[nn]); filew.write((String)p1[hh]+items[mm]+items[nn]); System.out.println(p1[hh]+items[mm]+items[nn]); } } }*/ //adding candiates if form a a,a b etc //adding patten strings of form aa,ab ,ac ,etc... for(int i=0,k=0; i<items.length; i++) { for(int j=0;j<items.length;j++,k++) { Candidate2.add(items[i]+" "+items[j]); pattern_Strings.add(items[i]+items[j]); } } for(int i=0,k=0; i<items.length; i++) { for(int j=0;j<items.length;j++,k++) { Candidate2.add(items[i]+items[j]); } } System.out.println("minimum support threshold is : 2"); int len1=Candidate2.size(); /*displaying candidate patterns System.out.println("candidate patterns are"); System.out.println("size of candidate patterns are:"+Candidate2.size()); for (int ii = 0; ii < Candidate2.size() ; ++ii) { System.out.println((String)Candidate2.get(ii)); } */ int support2[]=new int[Candidate2.size()]; for(int su=0;su<support2.length;su++) { support2[su]=0; } // System.out.println("pattern strings are:"); /* Enumeration e1=pattern_Strings.elements(); while(e1.hasMoreElements()) { String patternStr=(String)e1.nextElement(); System.out.println(patternStr); //pattenasso.put(patternStr,) }*/ //for(pattern_Strings) //generating length 3 candidate sequential patterns for(int ii=0,kk=0; ii<6; ii++) { for(int jj=0;jj<6;jj++,kk++) { for(int ll=0;ll<6;kk++,ll++) { //Candiate3.add(a[i]+" "+a[j]+); //Candidate3.add(items[ii]+" "+items[jj]+items[ll]); //Candidate3.add(items[ii]+items[jj]+" "+items[ll]); //Candidate3.add(items[ii]+items[jj]+items[ll]); // Candidate3.add(items[ii]+" "+items[jj]+" "+" "+items[ll]); Candidate3.add(items[ii]+" "+items[jj]+items[ll]); // System.out.println(items[ii]+" "+items[jj]+items[ll]); } } } int support3[]=new int[Candidate3.size()]; for(int su=0;su<support3.length;su++) { support3[su]=0; } //wrtiting candidates of length 3 onto file try { FileWriter file1 = new FileWriter("C:\\can4.txt",false); for (int i = 0; i < len1; ++i) { String s1=(String)Candidate3.get(i); file1.write (s1); // System.out.println(s1); int ij= Candidate3.indexOf(s1); //System.out.println(ij); file1.write ("\t"); file1.write ("\n"); } file1.close(); }catch(FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.println("length of Candidate 3sequential pattern vector:"+Candidate3.size()); //why this hashmap contains null,even after bening populated with keys/values //Storing pattern strings in patternasso hash map,pattern strings=key,patterns= values for(int i1=0;i1<pattern_Strings.size();i1++) { // pattenasso.put((String)pattern_Strings.get(i1),(String)Candidate2.get(i1)); // System.out.println(pattern_Strings.get(i1)+":"+Candidate2.get(i1)); String s1=( String)pattern_Strings.get(i1); String s2=( String)Candidate2.get(i1); patternasso.put(s1,s2) ; } //this prints null System.out.println("a.* .*a"+ patternasso.get("a.* .*a")); //for storing pattern strings in patternAsso hash map,pattern strings=key,patterns= values //stores key :values of form "a.*aa":"a aa" //why the hashmap contains the null,even after populating the hashmap for(int ii1=0;ii1<Candidate3.size();ii1++) { String s1=( String)patternStrings3.get(ii1); String s2=( String)Candidate3.get(ii1); patternAsso.put(s1,s2) ; System.out.println(s1+" " +s2); } System.out.println("key a.*aa value is"+ patternAsso.get("a.*aa")); //iterating through the pattenasso Map to see patten strings:strings,for pattern of length 3 Iterator iterator5= patternAsso.keySet().iterator(); while (iterator5.hasNext()) { Object key1 = iterator5.next(); Object value1 = patternAsso.get(key1); String key=(String) key1; String value=(String)value1; //checking pattenasso map,does it have correct enties; // System.out.println(key+value); } //printing pattern Strings // System.out.println("total number of pattern strings are="+pattern_Strings.size()); // System.out.println("String patterns:Strings"); //iterating through the pattenasso Map to see patten strings:strings for length 2 patterns Iterator iterator= patternasso.keySet().iterator(); while (iterator.hasNext()) { Object key1 = iterator.next(); Object value1 = patternasso.get(key1); String key=(String) key1; String value=(String)value1; //checking pattenasso map,does it have correct enties; // System.out.println(key+value); } Matcher m1[]; //declare as many matcher objects as regular expressions are try { File f1 = new File("C:\\sample.txt"); FileReader fr1 = new FileReader(f1); BufferedReader br1 = new BufferedReader(fr1); LineNumberReader lnr1 = new LineNumberReader(br1); String line1; System.out.println("Sequence database");; System.out.println("itemset itemset ......");; while ((line1 = br1.readLine()) != null) { System.out.println(line1); String t=line1; CharSequence inputStr = t;//stroing input sequences //testing for length 3 patterns /*String patternStr1= "a.*ab"; Pattern pattern2 = Pattern.compile(patternStr1); Matcher matcher2 = pattern2.matcher(inputStr); boolean matchFound2 = matcher2.find(); //System.out.println("ab c"); if(matchFound2) { System.out.println("a ab"); }*/ Enumeration e1=pattern_Strings.elements(); while(e1.hasMoreElements()) { // String patternStr=(String)e1.nextElement(); Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(inputStr); boolean matchFound = matcher.find(); // System.out.println(patternStr); //pattenasso.put(patternStr,) if(matchFound) { int i= pattern_Strings.indexOf(patternStr) ; String v=( String)patternasso.get(patternStr); support2[i]++; CandidateSeq1.put(v,support2[i]); } } /* String patternStr= "a.* .*a"; Pattern pattern1 = Pattern.compile(patternStr); Matcher matcher1 = pattern1.matcher(inputStr); boolean matchFound1 = matcher1.find(); if(matchFound1) { ++support2[0]; CandidateSeq1.put("a a",support2[0]); } String patternStr1= "b.* .*b"; Pattern pattern2 = Pattern.compile(patternStr1); Matcher matcher2 = pattern2.matcher(inputStr); boolean matchFound2 = matcher2.find(); if(matchFound2) { //candidateSeq1.remove("b b"); ++support2[1]; CandidateSeq1.put("b b",support2[1]); } String patternStr2= "ab"; Pattern pattern3 = Pattern.compile(patternStr2); Matcher matcher3 = pattern3.matcher(inputStr); boolean matchFound3 = matcher3.find(); if(matchFound3) { //candidateSeq1.remove("b b"); ++support2[2]; CandidateSeq1.put("ab",support2[2]); }*/ }//end of while loop //displaying sequences of length 2 Iterator iterator2 = CandidateSeq1.keySet().iterator(); System.out.println("length 2 sequential pattern is" +"Sequential pattern"+":"+"Support_count"); while (iterator2.hasNext()) { Object key1 = iterator2.next(); Object value1 = CandidateSeq1.get(key1); String key=(String) key1; Integer value=(Integer)value1; int val=value.intValue(); // System.out.println(val); // System.out.println(key); if(val>=2) { System.out.println("<"+key+">"+":" + val); } } }//end of try block catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Hot dog! An advertiser loves us THIS much:
Clean our rivers and oceans from home
https://www.kickstarter.com/projects/paulwheaton/willow-feeders
reply
reply
Bookmark Topic
Watch Topic
New Topic
Boost this thread!
Similar Threads
why hash map contains null
textarea tag - Entering string problem
generatinf pattern strings
find replace in file with regular expression
size of vector
More...