【问题标题】:What are the advantages to call a class as an ArrayList in Java? [closed]在 Java 中将类称为 ArrayList 有什么好处? [关闭]
【发布时间】:2016-03-10 06:57:54
【问题描述】:

假设: 如果我将我的一个类调用到我的 Main 方法中,我可以通过多少种方式使用对象 ArrayList 来使列表变得有用?

例如:

ArrayList <Account> listOfAccounts = new ArrayList<>();

我可以将 listOfAccounts 用作整数吗?如果是,如何?或者如何将 listOfAccounts 转换为 Integer ArrayList 以便我可以按照下面的方法使用它们? 类方法:

int findMax(ArrayList <Integer> numberOfAccount){};

在主方法中打印:

println("Maximum amount of money"+findMax(listOfAccounts));

任何有助于消除混乱的帮助将不胜感激。谢谢

【问题讨论】:

  • 如果要查找列表中的项目数,可以使用myList.size()。除此之外,我不知道你在问什么。
  • 好的,countAccounts 方法是一个愚蠢的例子!我想说也许 findMaximum(ArrayList max)。如何使用 findMaximum(listOfAccounts)?因为 listOfAccounts 是对象,而不是特定类型的 arrayList。 @khelwood

标签: java object arraylist


【解决方案1】:

如果您只需要计算您可以做的帐户数量

int size = listOfAccounts.size();

如果您想从这些帐户中提取数字列表,您可以这样做

List<Integer> numberOfAccounts = listOfAccounts.stream()
                                            .map(a -> a.getNum())
                                            .collect(Collectors.toList());

我可以通过多少种方式使用对象 ArrayList 来使列表变得有用?

数不胜数。

我可以将 listOfAccounts 用作整数吗?

它是一个帐户列表。如果要将其用作整数列表,则必须创建一个包含所需整数的新列表。

如何将 listOfAccounts 转换为 Integer ArrayList 以便我可以按照下面的方法使用它们?

你不能转换列表,但你可以得到一个整数。我建议您阅读该类的 Javadoc 以了解更多详细信息。

int i = numberOfAccounts.get(i);

for(int i : numberOfAccounts) {
  // iterate over the list

或将 t 用作流

numberOfAccounts.stream()
              .forEach(System.out::println);

如何使用 findMaximum(listOfAccounts)?因为 listOfAccounts 是对象,而不是特定类型的 arrayList。

如果您只想为帐户的某些字段设置最大值,则无需先提取List&lt;Integer&gt;

List<Account> accounts = ...
OptionalInt max = accounts.stream()
        .mapToInt(Account::getNum)
        .max();

【讨论】:

  • 问题是:(int 和迭代)都给我错误“帐户无法转换为 int”。 :(
  • @M.Harun 正确,这就是为什么我说您需要将您的帐户列表转换为整数列表,并为您提供了如何执行此操作的示例。让我在回答中更清楚地说明这一点......
  • 非常感谢@Peter Lawrey
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多