2016-10-04 2 views
0

다음은 시작 코드입니다. 나는 HashMaps에 대해 조금 배웠고 그것을 만들었고 사용했다. 하지만 내가 만든 HashMap 복사본을 만드는 데 문제가 있습니다. 나는 새로운 것을 재현 할 수 있지만, 그 아이디어는지도의 일부 키 & 값을 가지지 만, 다른 방법에서 가져온 것입니다. 내 방법은 모두 공개입니다. 클래스에 개인 myMap을 만들었습니다. 그러나 다른 방법으로 myMap에 액세스하려고하면 가장 많은 것은 빈 {}입니다. 때때로 나는 'null'을 얻지 만, 최소한 nullto에서 {}로가는 방법을 알아 냈습니다. 난 그냥 .getKey ... 수 HashMap 데이터를 얻을 수 싶습니다.HashMap Object ~ myMap이 public Java 메소드로 작성되었습니다.

희망이 있습니까? 그렇지 않은 경우 더 보내려고합니다.

public class CodonCount { 
    private HashMap<String,Integer> myMap = new HashMap<String,Integer>(); 

public CodonCount() { 
System.out.println("myMap (beginning of Constructor) = " + myMap); 
    } 

public HashMap buildCodonMap(int start, String dna) { 
System.out.println("myMap (beginning of buildCodonMap) = " + myMap);  
HashMap<String,Integer> myMap = new HashMap<String,Integer>(); 

답변

1

이미이

public HashMap buildCodonMap(int start, String dna) { 
    System.out.println("myMap (beginning of buildCodonMap) = " + myMap);  
    HashMap<String,Integer> myMap = new HashMap<String,Integer>(); 
    .... 
} 

당신이 myMap

을 다시 선포 할

public HashMap buildCodonMap(int start, String dna) { 
    System.out.println("myMap (beginning of buildCodonMap) = " + myMap);  
    myMap = new HashMap<String,Integer>(); 
    .... 
} 
+0

무서운하려고하면 myMap는, 클래스 변수로 선언대로, 당신이 훌륭한. 이제는 myMap = 새로운 HashMap 이 필요하지 않습니다. 내 문제는 내가 스스로를 봐야하는 무언가를 '과장'하려고했기 때문입니다. (즉, 시트콤 "중류"를 본 적이 있다면 브릭으로 생각하십시오.) – btcomp

+0

[REVISED] 무섭다, 당신은 훌륭합니다. 이제는 myMap = 새로운 HashMap 이 필요하지 않습니다. 내 문제는 내가 스스로를 봐야하는 무언가를 '과장'하려고했기 때문입니다. (즉, 시트콤 "The Middle"를 본 사람이라면 Brick으로 생각하십시오) public void tester() { String key = "TCA"; 정수 값 = myMap.get (키); System.out.println ("코돈 값 :"+ 값); } 테스터로부터 출력 : 코돈 값이 2 에는 myMap (buildCodonMap의 시작) = {} 에는 myMap (buildCodonMap에 해시 MAP 구축 후) = {CGT = 1, TCA = 2, AGT = 1} – btcomp

+0

이 대답이 유용 할 경우이 대답을 수락하는 것을 고려하십시오. –