一、实验概述
1.Poetic Walks
一个图形接口,两个具体实现类ConcreteEdgesGraph,ConcreteVerticesGraph。实现类实现了接口的一系列方法,并重写了toString方法,接着进行泛型化,最后一步是基于之前的具体实现完成poet任务。
2.对于实验一中的social network,结合实验二第一部分,将ConcreteEdgesGraph的L变为Person,实现相同功能。
二、实验中遇到的问题和总结思考(重要)
1.最浪费时间的一个问题是关于remove函数,最早使用for(Edge edge:edges)
找到关联边就删除,但是测试总是出错,最后找到原因是删除了一个edge后for-each循环的逻辑就会出错,无法再找到下一个edge。
解决方法:
先进行一份copy然后遍历copy,删除的确实实际的edges中的元素,便可以避免之前的问题,后来了解到,可以直接用迭代器实现同样效果。
2.FriendshipGraphTest测试没想到如何进行
FriendshipGraph中:
FriendshipGraphTest中:
FriendshipGraph graph=new FriendshipGraph();
ConcreteEdgesGraph g=graph.getGraph();