D1 =
D2 = "車は青である" "空が青い"
Key Value
the [<d1,1>,<d2,1>]
sky [<d1,1>]
is [<d1,1>,<d2,1>]
blue [<d1,1>,<d2,1>]
car [<d2,1>]
: キー=文字列
例:
<d1,1>
D1 =文書番号単語がファイル
私はDOCID変数と周波数のドキュメントタイプのオブジェクトを作成した上でつくれ何回
1 =。
public class Documento {
private final int docid;
private final int frequencia;
public Documento(int docid, int frequencia) {
this.docid = docid;
this.frequencia = frequencia;
}
public int getDocid() {
return docid;
}
public int getFrequencia() {
return frequencia;
}
@Override
public boolean equals(Object o) {
if ((o instanceof Documento) && docid == ((Documento) o).docid && frequencia == ((Documento) o).frequencia) {
return true;
}
return false;
}
そして
public class Dicionario {
public Map<String, Documento> indice = new HashMap<>();
public void InsereDicionario(String palavra, int docid) {
int cont = indice.containsKey(palavra) ? indice.get(palavra).getFrequencia() : 0;
indice.put(palavra, new Documento(docid, cont + 1));
}
public int frequencia(String palavra) {
return indice.get(palavra).getFrequencia();
}
public void criaDicionario(String entrada) {
String[] palavras = entrada.split("\\s+");
for (int i = 0; i < palavras.length; i++) {
InsereDicionario(palavras[i], 1);
}
}
public void ListaPalavras(){
for(String key:indice.keySet()){
System.out.println("");
}
}
とハッシュマップですしかし、私は実際に辞書を必要とする文書のリストである、と私はこれを行う方法がわからない、誰かが私を助けることができる辞書クラス?
これを行う簡単な方法はありますか?
の.map(D - > d.getFrequencia())を返します: 'インターフェイスストリームのメソッドマップは、指定された型には適用できません。 必須:機能<?スーパードキュメンタ、? R、Tは、型変数です は、(>関数に変換することはできません。<スーパーDocumento ,? Rを拡張し、引数の不一致?)型の変数(S)R を推測することはできません: 理由は:R> が見つかりました。拡張します R extendsメソッドで宣言されたオブジェクト map(Function <?super T、?extends R>) Tは、ストリームStreamで宣言されたオブジェクトを拡張します。 –