Swing JFC Java

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Enumeration;
import java.util.List;
import javax.swing.JTable;
import javax.swing.table.TableColumn;
public class Main {
  public static void main(String[] argv) {
  }
  // 
  public TableColumn[] getColumnsInModel(JTable table) {
    List result = new ArrayList();
    for (Enumeration e = table.getColumnModel().getColumns(); e.hasMoreElements();) {
      result.add((TableColumn) e.nextElement());
    }
    Collections.sort(result, new TableColumnComparator());
    return (TableColumn[]) result.toArray(new TableColumn[result.size()]);
  }
}
class TableColumnComparator implements Comparator {
  public int compare(Object a, Object b) {
    TableColumn c1 = (TableColumn) a;
    TableColumn c2 = (TableColumn) b;
    if (c1.getModelIndex() < c2.getModelIndex()) {
      return -1;
    } else if (c1.getModelIndex() == c2.getModelIndex()) {
      return 0;
    } else {
      return 1;
    }
  }
}