Java 你会如何为一个体育项目写一个深度图表和列表?

Java 你会如何为一个体育项目写一个深度图表和列表?,java,arraylist,Java,Arraylist,我需要一些概念上的帮助。我正在尝试制作一个小型棒球应用程序。在棒球运动中,有一个深度图,可以显示一个队中所有球员的位置。我还需要建立一个阵容,只有在他们各自的深度图表顶部的球员。最好(最有效)的方法是什么。我担心我的工作解决方案是原始的(我还是很新的,所以如果它只是无用的,我很抱歉) 我得到的是: private List<Player>[] depthChart = new ArrayList[9]; // 0 catcher, 1 pitcher, etc private

我需要一些概念上的帮助。我正在尝试制作一个小型棒球应用程序。在棒球运动中,有一个深度图,可以显示一个队中所有球员的位置。我还需要建立一个阵容,只有在他们各自的深度图表顶部的球员。最好(最有效)的方法是什么。我担心我的工作解决方案是原始的(我还是很新的,所以如果它只是无用的,我很抱歉)

我得到的是:

    private List<Player>[] depthChart = new ArrayList[9]; // 0 catcher, 1 pitcher, etc
private ArrayList<Player> lineup = new ArrayList<Player>(); // 0 of depthChart only
private List[]depthChart=new ArrayList[9];//0名捕手、1名投手等
private ArrayList lineup=新建ArrayList();//仅限深度图表的0
游戏计划是解析depthChart数组,确保只有第一个条目可以进入队列。我必须建立约束和逻辑,以确保你不能有重复的,并确保阵容秩序得到维护。但我不禁想到还有更好的办法


我知道这对所有人都没有帮助,所以如果你想忽略这一点。但如果有更聪明的人在那里,我会喜欢一些提示和指导。你不需要为我编码。我只需要一些技巧就可以了。

我会尝试一个
地图
,其中关键是一个位置枚举,值是一个
,其中的
玩家可以玩这个位置。给
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  
}

感谢您的阅读和反馈。我还应该提到,有不止一个阵容。你可以有一个阵容对左,一个阵容对右。更重要的是,你可以有一个左vs dh和一个右vs dh。所以至少你可以有两个独立的阵容,或者最多四个。如果没有更多的反馈,我会接受上面的答案。不用担心-具体化一个阵容类,持有一个球员的集合。这一切仍然有效。从对象的角度思考。