如何打印for循环HashMap结果一次?

时间:2017-12-11 17:11:49

标签: java loops hashmap

这是一种打印特定会员的费用记录的方法,但它会继续打印出与会员数量一样多的结果。

public void printFeeRecords(String anID)
{
    Member aMembers = findMemberByID(anID);


    for( Member aMember : members){

        System.out.println(aMembers.getFeeRecords());

    }
}

3 个答案:

答案 0 :(得分:1)

您已找到正确的成员 - 您无需迭代其他成员:

public void printFeeRecords(String anID)
{
    Member aMembers = findMemberByID(anID);
    System.out.println(aMembers.getFeeRecords());
}

答案 1 :(得分:1)

写作:

orderLinesRef = [];
getLines = () => {
    return this.state.orderLines.map((item, _) => (
      <OrderLine
        key={item.id}
        ref={ref => (this.orderLinesRef[_] = ref)}
        updateCallback={this.updateTotal}
        {...item}
      />
    ));
  };

您所说的是:

  1. 对于1. for( Member aMember : members) { 2. System.out.println(aMembers.getFeeRecords()); 3. } 中的每件事,将该事物绑定到变量members,然后执行第2行

  2. 将事物绑定到aMember,并调用其aMembers方法,然后打印结果

  3. 因此,当我们使用正确的成员(getFeeRecords() - 带有's',而不是aMembers,循环变量)时,我们仍然会为每件事做一次在aMember

    请注意,如果循环为members,我们将在for( Member aMembers : members)... 中为每件事打印费用记录,即预先设置的members的原始值当我们进入循环时,aMembers会被覆盖。但是,在循环结束后,我们仍然会拥有它。这与名为 scope

    的概念有关

答案 2 :(得分:0)

您实际上询问当前成员是否具有参数 - anID。

中提供的ID
CREATE TABLE tickets( details ) AS 
SELECT '{ABC, 2015-08-31 10:27}: Ticket Issued 151553' FROM DUAL UNION ALL
SELECT '{ANN, 2015-09-07 13:34}: Assigned to user ''FAR''' FROM DUAL UNION ALL
SELECT '{MJJ, 2015-09-07 13:37}: Comments added' FROM DUAL UNION ALL
SELECT '{MFR, 2015-09-07 13:37}: Ticket fixed' FROM DUAL;