힐스에 대한 데이터가 포함 된 CSV 파일에서 읽고 있습니다. 모든 읽기 등은 제대로 작동하지만 이제는 "카운티 이름"(파일의 열 머리글)을 연결하는지도를 만들고 싶습니다.) 그 안에 군 이름이있는 모든 언덕들과.지도 내의 Java 다중 집합
내 코드가 첫 번째 countyName에 대해 작동하기 때문에 올바른 경로를 따라 왔지만 문제는 for 루프 If 문이 else 문으로 이동하는 경우 기술적으로 다른 집합 (이전 값 삭제) 그리고 카운티 이름으로
내 출력을 새로운 언덕의 데이터를 할당하는 것은 :
{Perth and Kinross=[16,Knock of Crieff,Perth and Kinross,279.0,56.389329,-3.826973, 3,Creag Uchdag,Perth and Kinross,879.0,56.465278,-4.098107]}
그래서 그것에서 "퍼스 및 킨 로스"모든 언덕이있다. 지도는
퍼스 및 킨 로스에 대해 저장된 값을 지우지 않고 다른 세트를 만드는 방법입니다에 대해 내가 확실 해요 무엇
{Perth and Kinross=[16,Knock of Crieff,Perth and Kinross,279.0,56.389329,-3.826973, 3,Creag Uchdag,Perth and Kinross,879.0,56.465278,-4.098107], Stirling=[7,Meall Buidhe,Stirling,719.0,56.419004,-4.308645]}
처럼 끝나야한다 그래서 이제 내 옆에 카운티 이름은 예를 들어, "스털링"입니다
내 코드 :
Map<String, Set<Hill>> hillsByCounty = new HashMap<>();
if (h.getCounty().equals(countyName)) {
hillsByCounty.get(countyName);
currentSet.add(h);
hillsByCounty.put(countyName, currentSet);
} else {
countyName = h.getCounty();
currentSet.clear();
currentSet.add(h);
}
}
return hillsByCounty;
}
정확히 어디가 잘못된 것입니다. 나는 그것이 명확한 기능이라는 느낌을 가지고 있지만 어떻게 해야할지 잘 모르겠습니다.
내 현재 코드는 출력한다 :
{Perth and Kinross=[7,Meall Buidhe,Stirling,719.0,56.419004,-4.308645], Stirling=[7,Meall Buidhe,Stirling,719.0,56.419004,-4.308645]}
을 자사의 세트를 덮어 쓰기한다. 내 해결 방법은 무엇입니까?
"왜이 코드가 작동하지 않습니까?" 질문의 종류는 주제와 관련이 없습니다. 디버거를 사용하여 오류를 찾거나 해결해야 할 구체적인 문제가있는 경우 다시 돌아 오십시오. – Vampire
@Vampire 그게 아니라고 말하는 중이 야, 내 설정이 덮어 쓰여지고 있는지 궁금해. 내 코드가 편집 한 코드 스 니펫을 편집하고 추가했으며, 내가 원하는 것을 보여줍니다. 난 그냥 내 코드가 엉망이 어디 있는지 몰라 –
물론, 그건 당신이 코드를 단계별로 오류가 어디에 있는지 볼 수있는 디버거입니다. 귀하의 코드 **는 ** 작동하지 않으며 이것은 고전적인 질문으로 여기에 게시해서는 안되지만 대신 디버거를 사용하십시오. 문제는 오히려 명백하기 때문에 나는 어쨌든 대답을 올렸지 만, "왜이 코드가 내가 기대하는 것처럼 작동하지 않는가"를 여기 게시하지 마십시오. 그들은 SO 규칙에 따라 주제를 벗어났습니다. – Vampire