## org.h2.util
Class Permutations<T>

    java.lang.Object
      org.h2.util.Permutations<T>

Type Parameters:
  `T` - the element type

    public class Permutations<T>

extends java.lang.Object

A class to iterate over all permutations of an array. The algorithm is from Applied Combinatorics, by Alan Tucker as implemented in http://www.koders.com/java/fidD3445CD11B1DC687F6B8911075E7F01E23171553.aspx

Method Summary

`static

`<T> Permutations<T>`

`

`create(T[] in, T[] out)`
Create a new permutations object.

`static

`<T> Permutations<T>`

`

`create(T[] in, T[] out, int m)`
Create a new permutations object.

`boolean` `next()` Go to the next lineup, and if available, fill the target array.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### create

    public static <T> Permutations<T> create(T[] in,
                                             T[] out)

  Create a new permutations object.

  Type Parameters:
    `T` - the type
  Parameters:
    `in` - the source array
    `out` - the target array
  Returns:
    the generated permutations object

### create

    public static <T> Permutations<T> create(T[] in,
                                             T[] out,
                                             int m)

  Create a new permutations object.

  Type Parameters:
    `T` - the type
  Parameters:
    `in` - the source array
    `out` - the target array
    `m` - the number of output elements to generate
  Returns:
    the generated permutations object

### next

    public boolean next()

  Go to the next lineup, and if available, fill the target array.

  Returns:
    if a new lineup is available