2016-06-22 4 views
-4

키워드를 특정 값으로 매핑하는 방법이 있습니다. 실제 해시 맵을 반환하여 키/값 쌍을 참조 할 수 있습니다.자바에서 HashMap 객체를 반환 할 수 있습니까?

+1

네, 가능합니다, 그렇지 않습니까? – tkausl

+1

질문에 몇 가지 코드를 추가 할 수 있습니까? 그러면 우리가하고 싶은 일이 올바른지 살펴볼 것입니다. – mdewit

+1

'public지도 getMyMagicMap (최종 입력 입력)'? –

답변

1

예. 내가 위에서처럼이 때문에

Map<String, String> actualHashMap = mapTheThings("keyWord", "certainValue"); 
String value = actualHashMap.get("keyWord"); //The map has this entry in it that you 'put' into it inside of the other method. 

주, 당신은, HashMap 대신 반환 형식 Map을 선호한다, 다른 곳

public Map<String, String> mapTheThings(String keyWord, String certainValue) 
{ 
    Map<String, String> theThings = new HashMap<>(); 
    //do things to get the Map built 
    theThings.put(keyWord, certainValue); //or something similar 
    return theThings; 
} 

: 그것은 단지 다른 개체를 반환처럼 쉽게 할 수있다 항상 program to an interface rather than a concrete class에 대한 모범 사례로 간주됩니다. 앞으로는 TreeMap 또는 완전히 다른 것을 원하지 않는다고 누가 말할 것입니까?

+3

리턴 맵을 인터페이스 맵으로 만드는 것이 좋습니다. 구현이 HashMap에서 TreeMap으로 변경되면 호출 코드가 반드시 변경 될 필요가 없도록 구현됩니다. – Grayson

+0

@ Grayson 좋은 지적. 그것이 내가했던 것입니다. OP는 'HashMap'을 요청했습니다. 그러나, 그것은 그것이 나의 감정이기 때문에 그것을 바 꾸었습니다. –

+1

@ Cache Staheli - 우리가 가르치려고한다면, 우리는 모범 사례를 권장해야합니다. ;-) – Grayson

관련 문제