-2

おはようございます。[int][Object] という形式のデータを含むクラスがあります。私はクラスを扱ったことはありません。通常はリスト、マップを使用しますが、これを一般的なクラスに実装する方法がわかりません。クラスのフィールドでソートする方法は? 注意してください、私のtoStringはフィールド番号なしでフィールドコードのみを表示しています。

     I would like to sort this class by size of value[Object]
( "1 1234", "2 35881", ... "7 22" --> "7 22", "1 1234", "2 35881")



        public class Record {
            private int number;
            private Object code;

         ... Getters/Setters 

        @Override
        public String toString() {
            return (String)(this.code);
        }

        }


        public class Storage
        {
            List<Record> record;
            public Storage(){

                this.record = new ArrayList<Record>();

            }

            public void addRecord(Record record) {
                this.record.add(record);
            }
            public Record getRecord(int number){
                return this.record.get(number);
            }
            public void delRecord(int number){
                this.record.remove(number);
            }

            public Integer sizeStorage(){
                return record.size();
            }

        }

    public class Start {
        public static void main(String[] args) {

    System.out.println("Start reading from Xls");
    ReaderXls read = new ReaderXls();

    Storage storageRZS =  readrzs.ReadXls("Text1obj",2,12);

    .....
            System.out.println(storageRZS.getRecord(5));
            System.out.println(storageRZS.getRecord(7));
            System.out.println(storageRZS.getRecord(10));

    2122
    189266
    244

The result should be this:
        244
        2122
        189266
4

3 に答える 3

1

Comparator同じ顧客を作成する必要があります。ユーザー定義オブジェクトのソート方法を読む

于 2013-08-12T05:32:11.753 に答える
1

私は質問の正確さについて少し確信が持てません。ただし、リストなどのコレクションを異なるクラス属性(あなたが言うようにフィールド)でソートしたい場合は、Collections.sortを調べることができます

並べ替え属性ごとにComparatorインターフェイスを実装する必要があります。

よろしくVJ

于 2013-08-12T05:36:43.343 に答える