0

ここで私の質問からフォローアップしてください:キーがオブジェクトの場合にハッシュマップキーにアクセスする方法

私はこのようなことを試してみたかった:webSearchHash.put(xfile.getPageTitle(i),outlinks.put(keyphrase.get(i), xfile.getOutLinks(i)));

なぜ私の鍵がnull

ここに私のコードがあります:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;

import readFile.*;

public class WebSearch {

    readFile.ReadFile xfile = new readFile.ReadFile("inputgraph.txt");
    HashMap webSearchHash = new HashMap();
    ArrayList belongsTo = new ArrayList();
    ArrayList keyphrase = new ArrayList();

    public WebSearch() {        
    }

    public void createGraph()
    {
        HashMap <Object, ArrayList<Integer> > outlinks = new HashMap <Object, ArrayList<Integer>>();
        for (int i = 0; i < xfile.getNumberOfWebpages(); i++ )
        {
            keyphrase.add(i,xfile.getKeyPhrases(i));
            webSearchHash.put(xfile.getPageTitle(i),outlinks.put(keyphrase.get(i), xfile.getOutLinks(i)));
        }
    }
}

私がSystem.out.print(webSearchHash);出力を行うときは{Star-Ledger=null, Apple=null, Microsoft=null, Intel=null, Rutgers=null, Targum=null, Wikipedia=null, New York Times=null}

ただし、私にSystem.out.print(outlinks);与えます:{[education, news, internet]=[0, 3], [power, news]=[1, 4], [computer, internet, device, ipod]=[2]}基本的に、ハッシュマップをキーの値にしたい

4

3 に答える 3

2

を不安定にするため、(または任意の可変オブジェクト) をキーとして使用しないHashMapでくださいMap。達成しようとしていることに応じて、有用なアプローチやライブラリが多数存在する可能性がありますが、不安定なオブジェクトをMapキーとして使用すると問題が発生します。

于 2013-08-01T03:57:45.593 に答える