Trip Advisor - Train routes
First of all, you have a possible bug in your code.

If trains is empty you will get a problem at the printing of the results.


Don't code that much inside the constructor. The constructor should be used for initializing only.  
Be consitent in the way you create objects  


ArrayList&lt;Station&gt; changeStation =new ArrayList&lt;Station&gt;();
ArrayList&lt;Object&gt; trains=new ArrayList&lt;&gt;();  


If you need comments to describe a variable, you have named the variable poorly  
Let your code breathe, use some spacing  


for(int i=0;i&lt;(path.size()-1);i++)  



this would be easier to read like  

for (int i = 0 ; i &lt; path.size() - 1; i++)  

use methods for calculations. You should add a method which calculates the shortest path and another one that would be responsible for the output of these calculated values.  
code against interfaces instead of implementations so  


ArrayList&lt;Station&gt; changeStation =new ArrayList&lt;Station&gt;();
ArrayList&lt;Object&gt; trains=new ArrayList&lt;&gt;();  



should be  

List&lt;Station&gt; changeStation =new ArrayList&lt;&gt;();
List&lt;Lane&gt; trains=new ArrayList&lt;&gt;();  

Return from methods what the methodnames implies and name the "receiving" variable accordingly 


Lane train=e.getLaneColor();  



So the enum Lane should be become LaneColor and train should become e.g. currentLaneColor