【问题标题】:How to edit one attribute in an ArrayList?如何编辑 ArrayList 中的一个属性?
【发布时间】:2015-03-15 16:28:54
【问题描述】:

我有 4 节课。 程序 顾客 部分 任务

我有一个 ArrayList 用于保存数据(int procent、Customer k、Task u、boolean f)

我使用扫描仪为所有内容赋值,然后使用 partList.add()。一切都很好。

现在我只想将最后一个布尔值从 false 更改为 true。

Code: 
// ArrayList in class Customer
private ArrayList<Part> partList = new ArrayList<Part> (); 

// Constructor in class Part
public Part(int procent, Customer k, Task u,boolean f) {

在 Customer 类中,我想在我的 ArrayList 中为特定对象(Customer)更改布尔值(Part)。可能的解决方案?

【问题讨论】:

  • 请编辑您的问题,还不够清楚
  • 是的,有可能,建议你试试。您使用的是哪个版本的 Java?

标签: java arraylist java-collections-api


【解决方案1】:

在 Java 7 中你会这样做

for (Part part : partList)
    if (part.k == customer)
        part.f = true;

或者在 Java 8 中你可以这样做

partList.stream()
        .filter(p -> p.k == customer)
        .forEach(p -> p.f = true);

【讨论】:

  • 我知道使用 for 循环搜索列表是很好的。但我收到错误“f 和 k 无法解析或不是字段”。
  • @Maybex 您在问题中调用了kf。我假设您知道 Part 中的字段名称,或者如果您无法进行替换,您可以将它们包含在问题中。
  • 你为什么要这样做?如果您已经拥有customer,您只需使用customer.f = true;。根本不需要搜索。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-15
  • 2018-02-04
  • 2020-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多