簡體   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