如何将一个数据列表插入到另一个数组列表中,哪些字段相同?

时间:2014-07-09 07:59:41

标签: java arraylist comparison conventions

我遇到了小问题。我有两个ArrayLists,我想比较一下ArrayLists中的一些值。

List<TriangleInfo> arrayList = dataGridTable.selectLastvalueNoAverage(equipid);

如果触发此查询我得到一个arraylist。

public List<TriangleInfo> selectLastvalueNoAverage(int equipid)
    {
        List<TriangleInfo> list = new ArrayList<TriangleInfo>();

        cursor = database.query(DatabaseHelper.DGADATATABLE, columns, "equipid = '"+equipid+"' ", null, null,null, "dateadded DESC");

        while(cursor.moveToNext())
        {
            triangleInfo = new TriangleInfo();

            triangleInfo.setDgaid(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.DGAID)));
            triangleInfo.setDateadded(cursor.getString(cursor.getColumnIndex(DatabaseHelper.DATEADDED)));
            triangleInfo.setCh4(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.CH4)));
            triangleInfo.setC2h2(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.C2H2)));
            triangleInfo.setC2h4(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.C2H4)));

            list.add(triangleInfo);
        }

        cursor.close();

    return list;
}

以同样的方式第二个查询是

List<ThresholdsInfo> Threshold = thresholdsTable.selectAllRecords();

这里我也得到一个ArrayList。

public List<ThresholdsInfo> selectAllRecords()
    {
        List<ThresholdsInfo> list = new ArrayList<ThresholdsInfo>();
        cursor = database.query(DatabaseHelper.THRESHOLDS, columns, null, null, null, null, null);

        while(cursor.moveToNext())
        {
            info = new ThresholdsInfo();

            info.setThresholdid(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.THRESHOLDID)));
            info.setH2(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.H2)));
            info.setCh4(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.CH4)));
            info.setC2h2(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.C2H2)));
            info.setC2h4(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.C2H4)));
            info.setC2h6(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.C2H6)));
            info.setCo(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.CO)));
            info.setCo2(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.CO2)));
            info.setO2(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.O2)));
            info.setN2(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.N2)));
            info.setTdcg(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.TDCG)));

            list.add(info);
        }
        cursor.close();

        return list;
    }

所以我的问题是我必须比较两个ArrayList中的ch4,c2h2,c2h6值。所以我确实喜欢

public String ThresholdCheck(List<TriangleInfo> arrayList)
    {
        thresholdsTable = new ThresholdsTable(context);
        int ch4=0,tch4=0;

        String color = "Black";
        List<ThresholdsInfo> Threshold = thresholdsTable.selectAllRecords();


        for(TriangleInfo info : arrayList)
        {
            info.getC2h2();
        }

        for(ThresholdsInfo info : Threshold)
        {
            tch4 = info.getCh4();
        }

        if(ch4>=tch4)
        {

        }
        return color;
    }
我是这样写的,但这是一个漫长的过程。请告诉我有什么简单的解决方案。

0 个答案:

没有答案