使用 for 循环按其值之一对枚举列表进行排序,而不是排序或比较

问题描述 投票:0回答:0

所以,我想排序,例如,像这样的枚举列表:

公共枚举 SoccerPositions {

Striker ("Most advance player in field", 'S'),
MIDFIELDER ("Organizes the game", 'M'),
DEFENDER ("Stops the striker", 'D'),

private final String description; //first field
private final char code; // second field

SoccerPositions (String description, char code) {

    this.description = description;
    this.code = code;
}

public String getDescription() {
    return description;
}

public char getCode() {
    return code;
}


public static SoccerPositions[] getSoccerPositionsSortedbyCode() {

return ;

}

}

我试过了

public static SoccerPositions[] getSoccerPositionsSortedbyCode() {

    SoccerPositions[] soccerPositionsSorted = SoccerPositions.values();

  for (int i = 0; i < SoccerPositions.values().length - 1; i++) {
        for (int j = 0; j < (SoccerPositions.values().length - 1 - i); j++) {

            if (SoccerPositions.valueOf()[j] > SoccerPositions.valueOf()[j+1]) {
                int aux = SoccerPositions.valueOf()[j];
                SoccerPositions.valueOf()[j] = SoccerPositions.valueOf()[j+1];
                SoccerPositions.valueOf()[j+1] = aux;
            }
        }
  }
  for (int i = 0; i < SoccerPositions.values().length; i++) {

      SoccerPositionsSorted[i] = SoccerPositions.values()[i];
  }

        return soccerPositionsSorted;

}

当然不行。我对编程很陌生......

我知道我可以采取其他方式,但我需要使用冒泡排序方式来做到这一点。

谢谢大家

java enums bubble-sort
© www.soinside.com 2019 - 2024. All rights reserved.