我有一个通过数组工作的代码,实际上我希望传入ArrayList。
下面是示例:
public void displayOldestAge(Player[] arrayPlayer){
if(arrayPlayer.length == 0) return;
Player oldestPlayer = arrayPlayer[0];
for(int i = 1; i < arrayPlayer.length; i++)
{
if(arrayPlayer[i].age > oldestPlayer.age)
{
oldestPlayer = arrayPlayer[i];
}
}
System.out.println("The player oldest age is " + oldestPlayer.name + ", Age: " + oldestPlayer.age);
}
这是我现在的改编...
public void displayOldestAge(List < Player > players ){
if(players.size() == 0) return;
Player oldestPlayer = players(0);
for(int i = 1; i < players.size(); i++){
if(players(i).age > oldestPlayer.age)
{
oldestPlayer = players(i);
}
}
System.out.println("The player oldest age is " + oldestPlayer.name + ", Age: " + oldestPlayer.age);
}
我不明白我的错误??我不知道正确的语法...
有关信息,这里的代码
public class Player {
public String name;
public int age;
public boolean sex;
public Player(String name, int age, boolean sex){
this.name = name;
this.age = age;
this.sex = sex;
}
public void display(int number){
System.out.println("-----------------------");
System.out.println("Number : " + number);
System.out.println("Name : " + name);
System.out.println("Age : " + age);
System.out.println("Sex : " + sex);
}
大体上
class Main {
public static void main(String[] args) {
List<Player> players = new ArrayList <Player>();
players.add(new Player("Eric", 31, true));
players.add(new Player("Juliette", 27, false));
}
//displayOldestAge(players);
}
非常感谢你的帮助。
在使用ArrayList时,您需要使用.get(int index)方法来访问您试图访问的int index中的任何元素。
问题内容: 我想在数组的末尾添加一个元素,这是正确的方法吗? 我担心如果就地修改阵列可能会造成麻烦-是否安全? 制作数组副本的另一种选择似乎是浪费的。 问题答案: 该阵营的文档说: 将此this.state视为不可变的。 您将直接更改状态,即使您此后再次“重置”状态,也有可能导致易于出错的代码。F.ex,它可能导致某些生命周期方法(如不会触发)。 在更高版本的React中,建议的方法是在修改状态以
我想在数组的末尾添加一个元素,这是正确的方法吗? 我担心使用修改阵列可能会导致问题-安全吗? 另一种方法是复制数组,然后ing这似乎是浪费。
问题内容: 我想在数组的末尾添加一个元素,这是正确的方法吗? 我担心如果就地修改阵列可能会造成麻烦-是否安全? 制作数组副本的另一种选择似乎是浪费的。 问题答案: 该阵营的文档说: 将此this.state视为不可变的。 您将直接更改状态,即使您此后再次“重置”状态,也有可能导致易于出错的代码。F.ex,这可能会导致某些生命周期方法(如不会触发)。 在更高版本的React中,建议的方法是在修改状态
问题内容: 我正在用Java创建一个多线程聊天。当用户u1向用户u2发送消息但未连接用户u2时,用户u1将消息发送至服务器,而用户u2一旦连接至服务器,便会收到该消息。未发送的消息将添加到ArrayList中。连接用户后,他会检查自己是否是未决邮件的收件人。如果是,则将邮件发送给他,然后将其从待处理邮件列表中删除。这是我的方法: 这就是我得到的: 我如何解决它?是因为我正在使用迭代器吗? 问题答案
我正在处理一些代码,在测试过程中,它开始抛出一个ConcurrentModificationException。经过一番研究,让我困惑的是,我在迭代时并没有从列表中添加或删除。我确实会对列表进行迭代,但这是在我添加到列表之后。为了更清楚,下面是代码的注释版本: 我不确定这段代码怎么可能抛出ConcurrentModificationException,除非addAll()在不同的线程中运行(然后在
问题内容: public class StackOverFlow { public static void main(String[] args) { ArrayList al = new ArrayList (); al.add(“A”); al.add(“B”); markAsNull(al); System.out.println(“ArrayList elements are “+al);