给定一个由数字组成的列表，编写一个Java程序，将所有奇数排在偶数前面。
一个Java程序可调用数字列表。
以下是一个Java程序示例，可以将所有奇数排在偶数前面：

```java
public class OddEvenSorter {
    public static void main(String[] args) {
        int[] numbers = {5, 18, 3, 7, 2, 14};
        sort(numbers);
        for (int i = 0; i < numbers.length; i++) {
            System.out.print(numbers[i] + " ");
        }
    }

    public static void sort(int[] arr) {
        int left = 0;
        int right = arr.length - 1;
        while (left < right) {
            while (arr[left] % 2 != 0 && left < right) {
                left++;
            }
            while (arr[right] % 2 == 0 && left < right) {
                right--;
            }
            if (left < right) {
                // Swap arr[left] and arr[right]
                int temp = arr[left];
                arr[left] = arr[right];
                arr[right] = temp;
                left++;
                right--;
            }
        }
    }
}
```

在这个程序中，`sort`函数使用两个指针`left`和`right`来遍历数字列表，并将奇数置于列表前面，偶数置于后面。具体细节可以看注释。