怎樣才能讓你從fileID
高效many-to-many
-relation到Words
和word
到fileIDs
沒有數據庫-tools一樣的Postgres在Java中?有高效率的許多一對多關係中的Java
我有以下類。 從fileID
到words
的關係很便宜,但不是相反的,因爲我需要三個for
環回。
alt text http://img191.imageshack.us/img191/4077/oliorakenne1.png
我的解決方案顯然不是有效的。 其他選項可能會創建一個具有word
作爲ID的012xx的fileID
s的額外類。
回覆JacobM的回答
MyFile的的構造函數的相關部分是:
/**
* Synopsis of data in wordToWordConutInFile.txt:
* fileID|wordID|wordCount
*
* Synopsis of the data in the file wordToWordID.txt:
* word|wordID
**/
/**
* Getting words by getting first wordIDs from wordToWordCountInFile.txt and then words in wordToWordID.txt.
*/
InputStream in2 = new FileInputStream("/home/dev/wordToWordCountInFile.txt");
BufferedReader fi2 = new BufferedReader(new InputStreamReader(in2));
ArrayList<Integer> wordIDs = new ArrayList<Integer>();
String line = null;
while ((line = fi2.readLine()) != null) {
if ((new Integer(line.split("|")[0]) == currentFileID)) {
wordIDs.add(new Integer(line.split("|")[6]));
}
}
in2.close();
// Getting now the words by wordIDs.
InputStream in3 = new FileInputStream("/home/dev/wordToWordID.txt");
BufferedReader fi3 = new BufferedReader(new InputStreamReader(in3));
line = null;
while ((line = fi3.readLine()) != null) {
for (Integer wordID : wordIDs) {
if (wordID == (new Integer(line.split("|")[1]))) {
this.words.add(new Word(new String(line.split("|")[0]), fileID));
break;
}
}
}
in3.close();
this.words.addAll(words);
字的構造是the paste。
我添加了MyFile的consructors到我的問題。 –
好的,我看到構造函數,但是我仍然沒有看到單詞列表的填充位置。這就是我感興趣的內容。 –
謝謝你指出!我在我的問題中添加了構造函數的相關部分。 –