[英]java micro-optimization: combine set of boolean instance variables to bit vector based on int
[英]Vector optimization
经过进一步研究,我编写了以下代码作为解决方案:
public void optimize() {
if (vectors.size() < 3)
return;
for (int i = 2; i < vectors.size(); i++) {
if (sameLine(vectors.get(i - 2),vectors.get(i - 1), vectors.get(i)))
vectors.remove(--i);
}
}
boolean sameLine(Point a, Point b , Point c) {
if ((b.x < a.x && b.x < c.x)|| (b.x > c.x && b.x > a.x) || (b.y < a.y && b.y < c.y)|| (b.y > c.y && b.y > a.y))
return false;
return (a.y - b.y) * (a.x - c.x) == (a.y - c.y) * (a.x - b.x);
}
向量点对象的ArrayList。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.