*I need to make an English(other language) dictionary by collecting english/other language words in a text file;then using that text file I need to sort the words collected in alphabetical order using some hashing or other technique in another text file without occurring of the same word twice * eg collected text file word - "any,anything,any,ball,bin.cat,camp......."
then sorted dictionary file with hashes pointed to the sorted words will be in column wise any anything ... ... ball bin .. .. cat camp ... .. ..
The sorting and extracting part is a little easy but the hashing part so that when a word is look up time of lookup will be fast is a hard. Please help
import java.io.*; class alphabetical { public static void main(String args[]) { try{ // Open the file that is the first // command line parameter FileInputStream fstream = new FileInputStream("C:\\Users\\ HP\\Desktop\\test\\test.txt"); // Get the object of DataInputStream DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; //Read File Line By Line String strLine2="z"; String stralph=""; String [] str=new String[100]; String [] arr=new String[100]; int len=0; int i=0; int k=0; char l2[]=new char[10]; char l1[]=new char[10]; while ((strLine = br.readLine()) != null) { // Print the content on the console // s.getChars(start, end, buf, 0); str[i] =strLine; i=i+1; } int j=0; for(j=0;j<str.length;j++) { for(i=j;i<str.length;i++) { if(str[i]!=null && str[j]!=null) { if ((int)str[j].toLowerCase().charAt(0) >(int)str[i].toLowerCase().charAt(0)) { stralph=str[j]; str[j]=str[i]; str[i]=stralph; } else if ((int)str[j].toLowerCase().charAt(0) ==(int)str[i].toLowerCase().charAt(0)) { if(str[j].length()>=str[i].length()) { len=str[i].length(); } else { len=str[j].length(); } for(k=1;k<len-1;k++){ if ((int)str[j].toLowerCase().charAt(k) >(int)str[i].toLowerCase().charAt(k)) { stralph=str[j]; str[j]=str[i]; str[i]=stralph; break; } } } } } } for(i=0;i<str.length;i++) { if (str[i]!=null) { System.out.println(str[i]); } else { break; } } //Close the input stream in.close(); }catch (Exception e){//Catch exception if any System.err.println("Error:" + e.getMessage()); } } }