繁体   English   中英

如何在哈希表的数组列表中的for循环期间生成新的哈希表

[英]How to generate new hashtable during a for loop in the Arraylist of hashtable

编辑,更多澄清。 嗨,对于这个模糊的问题,抱歉,创建新哈希表时遇到的问题,我的意思是添加新行。

以前,如果我知道我要添加示例的行数,我想添加3行,我将声明3个hashmap并输入值,如下所示。 但是目前,我想进行一些计算,并根据所示的计算生成x的行数。 我不知道如何在for循环中声明和创建新的行/哈希映射。

protected void populateList(int i,Double profit,Double balance, Double revenue)
{
    list = new ArrayList<HashMap>();
    HashMap row1 = new HashMap();
    row1.put(FIRST_COLUMN,i);
    row1.put(SECOND_COLUMN, balance);
    list.add(row1);

    HashMap row2 = new HashMap();
    row2.put(FIRST_COLUMN,i);
    row2.put(SECOND_COLUMN, balance);
    list.add(row2);

    HashMap row3 = new HashMap();
    row3.put(FIRST_COLUMN,i);
    row3.put(SECOND_COLUMN, balance);
    list.add(row3);
}

我想创建一个具有多列的列表视图,并在单击按钮时通过计算动态地删除行。 所以我创建了一个哈希表(单个哈希表的行)的数组列表,但是我在创建一个新的哈希表时遇到了问题。

onClick下

public void onClick(View view) {
    for (int i=1; i <= count; i++) {
        // figure to be input into column
        Double profit = totalsum - cost;
        Double balance = totalsum - profit - cost;
        Double revenue = total sum;

        populateList(i,profit,balance,revenue);
    }
}

populateList方法

protected void populateList(int i,Double profit,Double balance, Double revenue)
{
    list = new ArrayList<HashMap>();
    HashMap temp = new HashMap();
    temp.put(FIRST_COLUMN,i);
    temp.put(SECOND_COLUMN, balance);
    temp.put(THIRD_COLUMN, profit);
    temp.put(FOURTH_COLUMN, revenue);
    list.add(temp);
}

我想你要做的是

public void onClick(View view) {
    List<HashMap> list = new ArrayList<HashMap>();
    for (int i=1; i <= count; i++)
    {
        // figure to be input into column
        Double profit = totalsum - cost;
        Double balance = totalsum - profit - cost;
        Double revenue = total sum;

        list.add(populatelist(i,profit,balance,revenue));


    }
}

protected HashMap populatelist(int i,Double profit,Double balance, Double revenue) {
    HashMap temp = new HashMap();
    temp.put(FIRST_COLUMN,i);
    temp.put(SECOND_COLUMN, balance);
    temp.put(THIRD_COLUMN, profit);
    temp.put(FOURTH_COLUMN, revenue);
    return temp;

}

但是很难说你给的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM