当前位置: 首页 > 知识库问答 >
问题:

正确修改arrayList中的数组

郗亦
2023-03-14

我有一个通过数组工作的代码,实际上我希望传入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);


}

非常感谢你的帮助。

共有1个答案

沃弘图
2023-03-14

在使用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);