【发布时间】:2018-01-25 16:22:53
【问题描述】:
我有两个数组列表。 刚刚运行进程如何匹配String的值?
编码:
ArrayList<TimeSeriesObject> arrayDayMinutes = new ArrayList<TimeSeriesObject>();
List<GetTimeSeriesResponseType.Row> rows = (List<Row>) el.getObjectValue();
for (i = iStart; i < arrayDayMinutes.size(); i++)
{
for (int j = n; j < rows.size(); j++)
{
nLoop++;
if (arrayDayMinutes.get(i).getTimeStamp().equals(ConvertDateTime(rows.get(j).getTIMESTAMP().toGregorianCalendar())))
{
// khteo 20140211
if (arrayDayMinutes.get(i).getTimeStamp().equals(ConvertDateTime(rows.get(j).getTIMESTAMP().toGregorianCalendar(), marketInfo.getTimezone())))
{
arrayDayMinutes.get(i).setOpen(rows.get(j).getOPEN());
arrayDayMinutes.get(i).setHigh(rows.get(j).getHIGH());
arrayDayMinutes.get(i).setLow(rows.get(j).getLOW());
arrayDayMinutes.get(i).setClose(rows.get(j).getCLOSE());
try
{
arrayDayMinutes.get(i).setVolume(rows.get(j).getVOLUME());
}
catch (NullPointerException npe)
{
arrayDayMinutes.get(i).setVolume(0);
}
n = j + 1;
long executeReques_end = System.currentTimeMillis();
// System.out.println("After 2nd loop:" + executeReques_end +"|total timing " + (executeReques_end-executeRequest_2ndbeforeLoop));
break;
}
}
}
}
如果我使用上述步骤,
if (arrayDayMinutes.get(i).getTimeStamp().equals(ConvertDateTime(rows.get(j).getTIMESTAMP().toGregorianCalendar())))
上面的代码性能不好...如何提高性能?当ArrayList不匹配时,会一直加载。不匹配的值可以跳过吗?
【问题讨论】:
-
不...这是字符串...我也知道。我的数组列表是对象
-
嗨 Sharon,字符串也是对象。因此,链接对于您的要求也相似。 :-)
标签: java