내가 데이터 유형의 다음과 같은 유형을 포함하는 HashMap의 반복을 시도하고 값의 데이터 형식을 유지 그 끈은 부름 받았다. neighbors
은 도시의 ArrayList에 들어있는 개체가자바 HashMaps을 통해 반복하면서
import java.util.*;
public class city{
String city;
public city(String s){
this.city = s;
}
public String toString() {
return this.city;
}
}
: 여기 내 city
클래스를 구성하는 코드입니다.
Iterator it = graph.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry)it.next();
System.out.println("Key :" + pair.getKey()); //prints the city System.out.println("Value :" + pair.getValue()); //prints the neighbors
//for (city c: pair.getValue()){
// System.out.println("Test... " + c);
//}
}
이 반복자는 위의 잘 작동 : 내가 지금 같은 반복자를 사용하는 일반 규칙을 사용하여이 해시 맵을 반복 시도하고
import java.util.*;
public class neighbors extends ArrayList<city> {
public neighbors (city[] n) {
for (city v : n)
this.add(v);
}
}
: 여기 내 neighbors
클래스를 구성하는 코드는 getKey 및 getValue 문을 잘 인쇄합니다. 내가 겪고있는 문제는 Map.Entry (ArrayList)의 VALUE를 반복하는 데 어려움을 겪고 있다는 것입니다. 내가 주석 처리 한 for 루프는이 작업을 수행하기위한 시도이다. getValue()
메서드가 Object를 반환한다는 것을 알고 있지만 ArrayList라는 값의 데이터 유형을 유지하는 방법은 무엇입니까? city
클래스의 toString()
전략을 따르는 neighbors
클래스에 다른 메서드를 포함해야합니까? HashMap의 이웃을 반복 처리하여 다른 값과 비교할 수 있습니까? 제 질문이 불분명하고 조언, 수정 또는 조언이 도움이 될 경우 알려 주시기 바랍니다. 대신 Iterator
에 대한 원시 유형의