0

我需要一点概念上的帮助。我正在尝试制作一个小型棒球应用程序。在棒球中,有一个深度图表,其中包含一个球队的所有球员的位置。我还需要创建一个只有在各自深度图表顶部的球员的阵容。最好(最有效的方法)如何去做。我担心我的工作解决方案是原始的(我还是很新,所以如果它没用我很抱歉)

我所拥有的是:

    private List<Player>[] depthChart = new ArrayList[9]; // 0 catcher, 1 pitcher, etc
private ArrayList<Player> lineup = new ArrayList<Player>(); // 0 of depthChart only

游戏计划是解析 depthChart 数组并确保只有第一个条目可以进入队列。我必须建立约束和逻辑,以确保你不能有重复,并确保保持阵容顺序。但我不禁想到有更好的方法。

我知道这无济于事,所以如果你想忽略这个。但是,如果那里有更聪明的人,我会喜欢一些提示和指导。你不需要为我编码。我只需要提示如何解决这个问题。

4

1 回答 1

1

我会尝试 a Map,其中键是位置枚举,值是Set可以Players扮演该位置的 a 。给出Player一个序数值深度,以便您可以按此排序。

public enum Position {
    PITCHER, CATCHER, FIRST, SECOND, SHORT, THIRD, LEFT, CENTER, RIGHT
}

public class Player {
    private String name;
    private Position position;
    private int depth;  
    // be sure to properly override equals and hash code to eliminate duplicates  
}
于 2012-06-10T16:43:16.433 回答