improvements (#521)
- inline computeIfAbsent - replace arraycopy by copyOfRange Co-authored-by: Yann Moisan <yann@zen.ly>
This commit is contained in:
parent
c886aaba34
commit
b3420d9348
@ -104,10 +104,7 @@ public class CalculateAverage_YannMoisan {
|
|||||||
break;
|
break;
|
||||||
field[fieldCurrentIndex++] = fieldByte;
|
field[fieldCurrentIndex++] = fieldByte;
|
||||||
}
|
}
|
||||||
var dst = new byte[fieldCurrentIndex];
|
var fieldStr = new Location(Arrays.copyOfRange(field, 0, fieldCurrentIndex));
|
||||||
System.arraycopy(field, 0, dst, 0, fieldCurrentIndex);
|
|
||||||
var fieldStr = new Location(dst);
|
|
||||||
// System.arraycopy(field, 0, dst, 0, fieldCurrentIndex);
|
|
||||||
var number = 0;
|
var number = 0;
|
||||||
var sign = 1;
|
var sign = 1;
|
||||||
while (bb.position() < limit) {
|
while (bb.position() < limit) {
|
||||||
@ -119,9 +116,15 @@ public class CalculateAverage_YannMoisan {
|
|||||||
else if (numberByte != '.')
|
else if (numberByte != '.')
|
||||||
number = number * 10 + (numberByte - '0');
|
number = number * 10 + (numberByte - '0');
|
||||||
}
|
}
|
||||||
stats.computeIfAbsent(fieldStr,
|
var v = stats.get(fieldStr);
|
||||||
k -> new Stat())
|
if (v == null) {
|
||||||
.update(sign * number);
|
var vv = new Stat();
|
||||||
|
vv.update(sign * number);
|
||||||
|
stats.put(fieldStr, vv);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
v.update(sign * number);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return stats;
|
return stats;
|
||||||
|
Loading…
Reference in New Issue
Block a user