【问题标题】:Get values from arraylist inside object inside arraylist in Java?从Java中arraylist中的对象内部的arraylist获取值?
【发布时间】:2023-03-17 21:55:01
【问题描述】:

这很复杂,但我会尽力解释我的问题。 Customer 类中的对象 customer 在对象内部有一个数组列表,用于存储不同的帐号。所有的客户对象都存储在一个数组列表中。所以我的问题和问题是如何从arraylist customerAccountsList 中的arraylist customerList 中的对象customer 中获取帐号!?

在前面问题的帮助下,我学会了如何从数组列表中的对象获取值,如下所示:

customerList.get(index).getAccountOwnername();

但现在我正在寻找这样的东西:

customerList.get(index).getAccountNumbers(????);

感谢您的帮助!谢谢!

编辑:

customerList.get(index).getAccountNumbers(arraylist that holds all account numbers)

我想获取单个帐号或数组列表中的所有帐号。我不想把它弄得太复杂,因为我在 java 编程方面比较新

编辑 2:

在 Customer 类中,我有以下代码:

ArrayList<String> customerAccountsList = new ArrayList<String>();

在主类里面我有这个代码:

// create an arraylist to store customer objects
ArrayList<Customer> customerList = new ArrayList<Customer>();

【问题讨论】:

  • 应该完全按照你写的那样工作。客户类应该有一个方法:ArrayList&lt;String&gt; getAccountNumbers() {},它会给你一个字符串对象的 ArrayList。

标签: java


【解决方案1】:

我猜你想要做的是

customerList.get(indexCustomer).getAccountNumbers().get(indexAccount)

根据您的需要,您可能需要进行一些重构:

  1. 创建一个具有 arrayList 的对象 AccountNumbersList
  2. 为前一个对象添加适当的方法getFirstAccountgetLastAccountgetSavingAccount
  3. 更改 Customer 的引用:参考 AccountNumbersList 对象

【讨论】:

  • 是的,这看起来很有希望,但是如果 arraylist 中有多个帐号,并且我想选择其中一个帐号,我怎么知道要使用哪个 indexAccount?
  • @ 3D-kreativ: 你需要哪个账号?什么标准?
  • 我需要获取我添加到arraylist accountNumbersList中的所有帐号
  • @3D-kreativ: 为了显示然后作为一个字符串或者你只需​​要 arraylist 对象?
  • 嗯,我想我想要内容!所有数字都作为字符串添加到数组列表中,有帮助吗?
【解决方案2】:

只需添加方法

ArrayList<String> getAccountNumbers()

到你的客户类,所以你可以通过

customerList.get(index).getAccountNumbers();

你不需要????在这里,因为您将直接获得整个列表

【讨论】:

    【解决方案3】:

    你的意思是?

    List<Account> accounts = new ArrayList<Account>();
    for(Customer c: customerList) accounts.addAll(a.getAccounts());
    

    【讨论】:

      【解决方案4】:

      我觉得你对 Java 知之甚少。所以,我必须猜你想要什么。 但是,我强烈建议你阅读基本的 Java 编程,否则会浪费你自己的时间。 如果你对 Java 不太了解,这里比阅读 Java 编程书要花太多时间。

      我猜 customerAccountList 来自类似这样的代码

      ArrayList<CustomerAccount> customerAccountList = new ArrayList<CustomerAccount>(); //or something
      

      然后您可以通过以下方式获取客户帐户:

      CustomerAccount oneCustomerAccount = customerAccountList.get(index); //index is integer
      

      然后从 oneCustomerAccount 中,您可以通过以下方式获取属于客户的帐户:

      ArrayList<Account> accountList = oneCustomerAccount.getAccountNumbers();
      

      然后在accountList中,你可以通过:

      Account oneAccount = accountList.get(indexOfAccountYouWant); // indexOfAccountYouWant is integer
      

      然后在 oneAccount 中,您可以调用 Account 类中的任何方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-14
        • 1970-01-01
        • 2014-12-24
        • 1970-01-01
        • 2012-11-05
        • 2018-08-07
        相关资源
        最近更新 更多