第四周星期二

1.跟着博客敲出了第二段代码

import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;

/**
* desc:地铁站对象

*
*/
public class Station {

private String name; //地铁站名称,假设具备唯一性

public Station prev; //本站在lineNo线上面的前一个站

public Station next; //本站在lineNo线上面的后一个站

//本站到某一个目标站(key)所经过的所有站集合(value),保持前后顺序
private Map<Station,LinkedHashSet<Station>> orderSetMap = new HashMap<Station,LinkedHashSet<Station>>();

public Station (String name){
this.name = name;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public LinkedHashSet<Station> getAllPassedStations(Station station) {
if(orderSetMap.get(station) == null){
LinkedHashSet<Station> set = new LinkedHashSet<Station>();
set.add(this);
orderSetMap.put(station, set);
}
return orderSetMap.get(station);
}

public Map<Station, LinkedHashSet<Station>> getOrderSetMap() {
return orderSetMap;
}

@Override
public boolean equals(Object obj) {
if(this == obj){
return true;
} else if(obj instanceof Station){
Station s = (Station) obj;
if(s.getName().equals(this.getName())){
return true;
} else {
return false;
}
} else {
return false;
}
}

@Override
public int hashCode() {
return this.getName().hashCode();
}
}

2.问题代码中用到了几个类我并没有什么概念,百度搜也找不到重点,理解起来比较困难,打算明天看看java有没有关于链表的网课,代码看着看着就晕了,不知道对象的含义和操作,也不了解程序的分布功能结构

3.收获:学习了HashMap;

import java.util.LinkedHashSet;
import java.util.Map;

的相关知识和例子,感觉不是很好理解,计划明天继续理解第二段代码,争取把每个功能都搞懂,并开始第三段代码的编写与学习。

原文地址:https://www.cnblogs.com/pekey/p/11502597.html