我是使用迭代器的新手,并且想知道如何迭代线段上的每个点(准确地说,是Line2D.Double)-我需要检查该线上的每个点是否满足某些要求。
另外,给定路径对象(如GeneralPath),您将如何做同样的事情(遍历形状轮廓上的每个点)?
理想情况下,我想要这样的东西(用直线或路径):
Line2D line = new Line2D.Double(p1,p2);
for (Point2D point : line)
{
point.callSomeMethod();
}
Java
API中似乎没有任何东西可以使布雷森汉姆的算法对用户可见。所以我写了一个遍历一行的类。
您可以像这样使用它:
List<Point2D> points = new ArrayList<Point2D>();
Line2D line = new Line2D.Double(0, 0, 8, 4);
Point2D current;
for (Iterator<Point2D> it = new LineIterator(line); it.hasNext();) {
current = it.next();
points.add(current);
}
assertThat(points.toString(),
is("[Point2D.Double[0.0, 0.0], Point2D.Double[1.0, 0.0], " +
"Point2D.Double[2.0, 1.0], Point2D.Double[3.0, 1.0], " +
"Point2D.Double[4.0, 2.0], Point2D.Double[5.0, 2.0], " +
"Point2D.Double[6.0, 3.0], Point2D.Double[7.0, 3.0], " +
"Point2D.Double[8.0, 4.0]]"));
问题内容: 有没有办法遍历classpath中的所有类? 我想对实现特定接口的某些类进行一些反思性检查,但是我想完全动态地进行检查,而无需输入任何要检查的类,只需浏览类路径即可。 问题答案: 该思考图书馆可以帮助解决这个问题。正如其他人所述,在所有类加载情况下也不是完全可能的,但是如果您只有jar和文件,那么它将可靠地做到这一点。
问题内容: 在同时处理2个元素的同时迭代列表的最佳方法是什么? 例: 结果是: 我想实现: 问题答案: 只需增加2:
我有一个XML文件,如下所示 我的XSL看起来像这样 然后,我尝试达到节点内元素的每个值 它没有显示值!我认为这是一种正确的方式。首先,我有for each select=“//警报,然后我有<代码> 请帮忙。
我的目标是找到与道路(边)相连的给定城市(顶点)之间的最短路径(成本最低)。每条道路和每个城市都有进入该道路/城市之前必须支付的费用(成本)。 如果这是整个任务,我会使用Dijkstra算法找到最短路径(并将城市成本添加到之前连接的道路成本中)。 但是: 城市有类似于伙伴关系协议的东西——当你访问其中一个并支付费用时,进入这个特殊伙伴关系中的其他城市是免费的。 因此,顶点(在它之前连接的边)的成本
问题内容: 如何有效地遍历Java Map中的每个条目? 问题答案: 最佳答案:
问题内容: 如何进行for循环或列表理解,以便每次迭代都给我两个元素? 输出: 问题答案: 你需要一个实施。 对于Python 2: 或更笼统地说: 在Python 3中,你可以替换为内置函数,然后删除import。 所有信贷蒂诺对他的回答到我的问题,我发现这是非常有效的,因为它只是在列表上循环一次,并在此过程中不会产生任何不必要的名单。 注意:不要将其与Python自己的文档中的pairwise