Please confirm which of the two codes are efficient a or b . Where string is defines inside loop or outside loop. Kindly sugggest.
a)
for(int i=0;i<configIndexNumber.size();i++){
ConfigurationDetailsObject oldIndex =(ConfigurationDetailsObject)configIndexNumber.get(i);
String Key = oldIndex.getVehConfigNo()+oldIndex.getBaseEngineKey()+oldIndex.getEngineCode()+oldIndex.getTestGroupId()+oldIndex.getTransConfig()+oldIndex.getInertiaWeightClassNo()+oldIndex.getAxleRatioValue();
if(!configIdxNnb.containsKey(Key))
{
newConfigIndexList.add(oldIndex);
configIdxNnb.put(Key,oldIndex);
}
}
b)
String Key=null;
for(int i=0;i<configIndexNumber.size();i++){
ConfigurationDetailsObject oldIndex =(ConfigurationDetailsObject)configIndexNumber.get(i);
Key = oldIndex.getVehConfigNo()+oldIndex.getBaseEngineKey()+oldIndex.getEngineCode()+oldIndex.getTestGroupId()+oldIndex.getTransConfig()+oldIndex.getInertiaWeightClassNo()+oldIndex.getAxleRatioValue();
if(!configIdxNnb.containsKey(Key))
{
newConfigIndexList.add(oldIndex);
configIdxNnb.put(Key,oldIndex);
}
}