Java 数组列表?

Java 数组列表?,java,arrays,arraylist,Java,Arrays,Arraylist,所以,一个似乎让我困惑的简单问题。我有一系列的ArrayList,因为它们需要可扩展。现在,我希望能够通过一个简单的for循环从每个对象中提取第n个对象 public ArrayList<String> name = new ArrayList<String>(); public ArrayList<Integer> stamina = new ArrayList<Integer>(); public ArrayList<Integer>

所以,一个似乎让我困惑的简单问题。我有一系列的
ArrayList
,因为它们需要可扩展。现在,我希望能够通过一个简单的for循环从每个对象中提取第n个对象

public ArrayList<String> name = new ArrayList<String>();
public ArrayList<Integer> stamina = new ArrayList<Integer>();
public ArrayList<Integer> heart = new ArrayList<Integer>();
public ArrayList<Integer> intel = new ArrayList<Integer>();
public ArrayList<Integer> speed = new ArrayList<Integer>();
如果我想知道7号赛车手的情况

for ( int i=0; i<=racerInfo.length - 1; i++ ) {
    System.out.println(racerInfo[i][7]);
}

for(inti=0;i使racerInfo成为arrayLists的arrayList,类似这样

ArrayList<ArrayList> racerInfo = new ArrayList<ArrayList>(Arrays.asList(new ArrayList[]{name, stamina, heart, intel, speed}));
ArrayList racerInfo=new ArrayList(Arrays.asList(new ArrayList[]{name,stamina,heart,intel,speed}));

您的方法有点原始,如果您有更好的体系结构,就不会有这个问题

与其拥有一堆racer属性列表,不如创建一个具有这些属性的racer类

class Racer {
    private String name;
    private int stamina;
    ...
    public Racer(String name) {
       this.stamina = Math.random(...);
       ...
    }

    public function getStamina() {
       return this.stamina;
    }
}
然后实例化所有的赛车手

Racer racer1 = new Racer("Alice");
并将他们放在一张参赛者名单(或地图)中:

List<Racer> racers = new ArrayList<Racer>();
racers.add(racer1);

很抱歉,没有回答最初的问题,但您真正想要的是一个包装器对象,例如
RacerInfo
,而不是一个列表数组。此外,有点吹毛求疵-尝试根据它们的接口创建集合,而不是实现(
List List List=new arrarylist()
)你不能用这些属性创建一个racer pojo类吗?Sasvathan,我不知道pojo类是什么。我以前从未听说过这些。一个更好的解决方案。我认为你还应该在答案中添加如何将racer对象添加到列表中,例如
racers.add(新racer(someString,someInt,…)
我想我不明白这是怎么回事。所以,稍后我将使用
Math.random()
为赛车手生成统计信息。我知道如何将其添加到您指定的
列表中,但我以后如何提取统计信息以供显示/实现?例如。我不确定信息存储的内容或存储的位置。@MiuKujo我添加了一个示例,说明了如何执行此操作。这是纯Java objec的一个非常基本的用法ts。了解这些对象是如何工作的,这是非常基本和重要的,否则Java就走不了多远了。@MiuKujo创建这些对象并不比创建以前所做的任何事情更为手动,我向您保证。为什么您认为创建这些对象更为困难?
List<Racer> racers = new ArrayList<Racer>();
racers.add(racer1);
racers.add(new Racer("Bob"));