How To make a Dictionary? (Description below)
<p>*<em>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  *</em>
eg
collected text file word - "any,anything,any,ball,bin.cat,camp......."</p>

<p>then sorted dictionary file with hashes pointed to the sorted words will be
any
anything
...
...
ball
bin
..
..
cat
camp
...
..
..</p>

<p>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</p>

<p>The following code is as far as I have gotten along...</p>

<pre><code>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&lt;str.length;j++)
  {

  for(i=j;i&lt;str.length;i++)
  {
      if(str[i]!=null &amp;&amp; str[j]!=null)
      {
    if ((int)str[j].toLowerCase().charAt(0)
&gt;(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()&gt;=str[i].length())
        {
            len=str[i].length();

        }
        else
        {
            len=str[j].length();
        }
        for(k=1;k&lt;len-1;k++){
         if ((int)str[j].toLowerCase().charAt(k)
&gt;(int)str[i].toLowerCase().charAt(k))
         {
        stralph=str[j];
        str[j]=str[i];
        str[i]=stralph;
        break;
         }

    }

    }

  }
  }
  }



   for(i=0;i&lt;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());
  }
  }
}
</code></pre>
