java tablemodel_java – 创建TableModel并动态填充jTable

这篇博客探讨了如何在Java中动态创建一个TableModel,并将其与Lucene索引结果结合,以便在jTable中显示和排序搜索术语的不同频率度量。作者通过遍历Lucene索引,计算每个术语的绝对频率、文档频率、逆文档频率和TF-IDF值,并将这些数据存储在一个ArrayList中,以备后续填充TableModel使用。
摘要由CSDN通过智能技术生成

我想将读取lucene索引的结果存储到jTable中,以便我可以通过不同的列对其进行排序.从索引我正在阅读具有不同频率度量的术语.

表列是这些:

[string term] [int absFrequency] [int docFrequency] [double invFrequency]

所以我在AbstractTableModel中我可以定义列名,但我不知道如何使用以下方法得到Object [] []数据:

public static void FrequencyMap(Directory indexDir) throws Exception

{

ListredoviLista = new ArrayList();

//final Map map = new TreeMap();

ListtermList = new ArrayList();

IndexReader iReader = IndexReader.open(indexDir);

FilterIndexReader fReader = new FilterIndexReader(iReader);

int numOfDocs = fReader.numDocs();

TermEnum terms = fReader.terms();

while (terms.next()){

Term term = terms.term();

String termText = term.text();

termList.add(termText);

//Calculating the frequencies

int df = iReader.docFreq(term);

double idf = 0.0F;

idf = Math.log10((double) numOfDocs / df);

double tfidf = (df*idf);

//Here comes important part

//Changes according to takoi's answer

ArrayList oneRow = new ArrayList();

oneRow.add(termText);

oneRow.add(df);

oneRow.add(idf);

oneRow.add(tfidf);

redoviLista.add(oneRow);

}

iReader.close();

// So I need something like this,and i Neeed this array to be stored out of this method

所以我很友好地坚持在这里继续实现AbstractTableModel并填充并显示这个表….:/

请帮忙!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值