資源簡介
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
評論
共有 條評論