• 大小: 6KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-07
  • 语言: Java
  • 标签: 倒排索引  

资源简介

java实现读取多个文件构成hashmap创建倒排索引表,然后实现布尔查询. 代码比较丑陋,初学者写的。多多包涵!

资源截图

代码片段和文件信息

import java.util.*;


public class BooleanInquire {
public int[] getvalue(String wordTreeMap> map){
int[] a=new int[2];
TreeMap Smap=map.get(word);
for(Map.Entry me: Smap.entrySet()) 
  {
 return me.getValue();
  }
 return a;
}
public int[] AndReslut(String word1String word2TreeMap> map){
//TreeMap Smap=map.get(word1);
List list=new linkedList();
if(map.get(word1)!=null){
if(map.get(word2)!=null){
int[] tmp1=getvalue(word1map);
int[] tmp2=getvalue(word2map);
  for(int i=0;i    for(int j=0;j    if(tmp1[i]==tmp2[j]){
   list.add(tmp1[i]);
   }
   }
 }
}else{
int[] a={-2};
return a;
}
}else{
int[] a={-1};
return a;
}
  int[] tmp=new int[list.size()];
  for(int m=0;m    tmp[m]=list.get(m);
return tmp;

public int[] OrReslut(String word1String word2TreeMap> map){
//TreeMap Smap=new TreeMap();
List list=new linkedList();
if(map.get(word1)!=null){
if(map.get(word2)!=null){
int[] tmp1=getvalue(word1map);
int[] tmp2=getvalue(word2map);
for(int i=0;i list.add(tmp1[i]);
for(int j=0;j if(tmp1[i]!=tmp2[j]){
list.add(tmp2[j]);
}
}
 }
}else{
System.out.println(“第二个单词不存在!“);
int[] tmp1=getvalue(word1map);
for(int i=0;i   list.add(tmp1[i]);
}
}
}else{
if(map.get(word2)!=null){
System.out.print(“第一个单词不存在!“);
int[] tmp2=getvalue(word2map);
for(int i=0;i   list.add(tmp2[i]);
}
}else{
int[] a={-1};
return a;
}
}
  int[] tmp=new int[list.size()];
  for(int m=0;m    tmp[m]=list.get(m);
return tmp;

public void OutPut(int[] arr){
    List list = new ArrayList();
    for (int i=0; i if((!list.contains(arr[i]))&&(arr[i]!=0)) {//如果数组 list 不包含当前项,则增加该项到数组中
list.add(arr[i]);
}
    }
    int[] t=new int[list.size()];
    for(int m=0;m    t[m]=list.get(m);
    Arrays.sort(t);
for(int k=0;k if(t[k]!=0)
System.out.print(t[k]+“  “);
System.out.print(“\n“);
}
public void inquire(TreeMap> map){
while(true){
System.out.print(“请输入要查询的内容:\n“);
Scanner input=new Scanner(System.in);
String line=input.nextLine();
String[] InPut=line.split(“\\s+“);
String[] tmp = new String[10];
int j=0;
for(int i=0;i if(!InPut[i].equals(null)){
tmp[j]=InPut[i].toLowerCase();
j++;
}
}
if(j==1){
if(map.containsKey(tmp[0])){
int[] a=getvalue(tmp[0]map);
OutPut(a);
}els

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3535  2016-03-29 11:10  HashIndex\BooleanInquire.java

     文件       2230  2016-03-29 10:45  HashIndex\CreateIndex.java

     文件        940  2016-03-29 11:15  HashIndex\readme.txt

     文件        415  2016-03-29 10:53  HashIndex\t.java

     文件        277  2015-03-12 11:39  HashIndex\需读取的文件\d1.txt

     文件        262  2015-03-12 11:39  HashIndex\需读取的文件\d10.txt

     文件        256  2015-03-12 11:39  HashIndex\需读取的文件\d2.txt

     文件        223  2015-03-12 11:38  HashIndex\需读取的文件\d3.txt

     文件        244  2015-03-12 11:38  HashIndex\需读取的文件\d4.txt

     文件        322  2015-03-12 11:38  HashIndex\需读取的文件\d5.txt

     文件        319  2015-03-12 11:39  HashIndex\需读取的文件\d6.txt

     文件        365  2015-03-12 11:39  HashIndex\需读取的文件\d7.txt

     文件        391  2015-03-12 11:39  HashIndex\需读取的文件\d8.txt

     文件        329  2015-03-12 11:39  HashIndex\需读取的文件\d9.txt

     目录          0  2016-03-30 21:15  HashIndex\需读取的文件

     目录          0  2016-03-30 21:15  HashIndex

----------- ---------  ---------- -----  ----

                10108                    16


评论

共有 条评论