资源简介
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
- 上一篇:java最全最强面试大全
- 下一篇:AndroidStudio2.3.3
评论
共有 条评论