How to sort data in a table data structure in Java?
        Posted  
        
            by 
                rgksugan
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by rgksugan
        
        
        
        Published on 2010-12-26T03:35:55Z
        Indexed on 
            2010/12/26
            3:54 UTC
        
        
        Read the original article
        Hit count: 258
        
I need to sort data based on the third column of the table data structure. I tried based on the answers for the following question. But my sorting does not work. Please help me in this. Here goes my code.
Object[] data = new Object[y];
            rst.beforeFirst();
            while (rst.next()) {
                int p_id = Integer.parseInt(rst.getString(1));
                String sw2 = "select sum(quantity) from tbl_order_detail where product_id=" + p_id;
                rst1 = stmt1.executeQuery(sw2);
                rst1.next();
                String sw3 = "select max(order_date) from tbl_order where tbl_order.`Order_ID` in (select tbl_order_detail.`Order_ID` from tbl_order_detail where product_id=" + p_id + ")";
                rst2 = stmt2.executeQuery(sw3);
                rst2.next();
                data[i] = new Object[]{new String(rst.getString(2)), new String(rst.getString(3)), new Integer(rst1.getString(1)), new String(rst2.getString(1))};
                i++;
            }
            ColumnComparator cc = new ColumnComparator(2);
            Arrays.sort(data, cc);
            if (i == 0) {
                table.addCell("");
                table.addCell("");
                table.addCell("");
                table.addCell("");
            } else {
                for (int j = 0; j < y; j++) {
                    Object[] theRow = (Object[]) data[j];
                    table.addCell((String) theRow[0]);
                    table.addCell((String) theRow[1]);
                    table.addCell((String) theRow[2]);
                    table.addCell((String) theRow[3]);
                }
© Stack Overflow or respective owner