title: calculate permutation for large number
body: <p>I am using this java code to try to calculate the permutations of 20:
  (this is just code part used for calculating permutation)</p>
  
  <pre><code>int[] myArray = new int[20];
  for (int i = 0; i &lt; a; i++)
      myArray[i] = i + 1;
  
  List&lt;Integer&gt; intList = new ArrayList&lt;Integer&gt;();
  for (int index = 0; index &lt; myArray.length; index++)
  {
      intList.add(myArray[index]);
  }
  
  List&lt;Integer&gt; vals = intList; 
  
  Collection&lt;List&lt;Integer&gt;&gt; orderPerm = Collections2.permutations(vals);
  </code></pre>
  
  <p>but of course there is no enough memory for that;</p>
  
  <p>any suggestions?</p>