【发布时间】:2019-01-21 23:06:47
【问题描述】:
所以我需要返回某个行程的出发点,这里有几个例子:
旅行 := [ [A,B], [B,C], [C,D] ] 本例中的行程从“A”开始。
行程 := [ [D,E], [F,D], [E,X] ] 本例中的行程从“F”开始。
为此,我做了 2 个循环来比较 A 与 C 和 D,如果 A 在任何地方都不存在,那么它就是出发点。
是否可以这样做(保持 2 个循环)并更改条件中的某些内容以仅获取出发城市?
ArrayList<ArrayList> tripsList = new ArrayList<ArrayList>();
ArrayList<String> trip1 = new ArrayList<String>();
ArrayList<String> trip2 = new ArrayList<String>();
ArrayList<String> trip3 = new ArrayList<String>();
tripsList.add(trip1);
tripsList.add(trip2);
tripsList.add(trip3);
trip1.add("Hamburg");
trip1.add("Berlin");
trip2.add("Mainz");
trip2.add("Frankfurt");
trip3.add("Frankfurt");
trip3.add("Hamburg");
System.out.println(tripsList);
for (int i=0; i < 3 ; i++)
{
for (int j=0; j < 3 ; j++)
{
if (tripsList.get(i).get(0)!=tripsList.get(j).get(1))
System.out.println("your place is "+tripsList.get(i).get(0));
}
}`
输出如下:
[[Hamburg, Berlin], [Mainz, Frankfurt], [Frankfurt, Hamburg]]
your place is Hamburg
your place is Hamburg
your place is Mainz
your place is Mainz
your place is Mainz
your place is Frankfurt
your place is Frankfurt
【问题讨论】:
-
忘了说是随机的,不一定是开头,所以需要一个函数来查找。
-
听起来有点像拓扑排序。
标签: java arrays arraylist nested-loops