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"));