2016-10-04 15 views
0

以下は私の開始コードです。私はHashMapsで少し学んで、それらを作成して使用しました。しかし、私が作成したHashMapのコピーを作成する際に問題が発生しています。私は新しいものを作り直すことができますが、アイデアはマップのいくつかのキー&の値を構築することですが、別の方法からです。私の方法はすべて公開されています。クラス内にプライベートmyMapを作成しました。しかし、別のメソッドでmyMapにアクセスしようとすると、空の{}が得られます。時には私は 'null'を取得するが、私は少なくともnulltoから{}に到達する方法を考え出した。私はちょうど.getKey ... HashMapデータを取得できるようにしたい。HashMapオブジェクト〜myMapはパブリック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

すでにmyMapはクラス変数として宣言してきたように、あなたはこの

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 =新しいHashMap を必要としません。なぜなら私の問題は自分が見なければならないことを「オーバードゥー」しようとしていたからです。 (つまり、あなたがコメディーを見たことがあるならば、私はブリックと考えてください) – btcomp

+0

[改訂]恐ろしく、あなたは華麗です。今私はmyMap =新しいHashMap を必要としません。なぜなら私の問題は自分が見なければならないことを「オーバードゥー」しようとしていたからです。 (つまり、あなたがいつもコメディを見たことがあるなら、私をブリックと考えてください) public void tester(){ String key = "TCA"; 整数値= myMap.get(キー); System.out.println( "コドンの値は" + value "です。テスターから } 出力: コドン値は:2 MYMAP(buildCodonMapの開始)(buildCodonMapにHashMapを構築した後)= {} MYMAP = {CGT = 1、TCA = 2、AGT = 1} – btcomp

+0

この回答が役に立つ場合は、この回答を受け入れることを検討してください –

関連する問題