Java搜索字符串
我正在开发一个基于swing的应用程序。其中有一个JTable。数据以两种方式填充到JTable中-Java搜索字符串,java,search,Java,Search,我正在开发一个基于swing的应用程序。其中有一个JTable。数据以两种方式填充到JTable中- 用户选择一个文件(文件选择器等)。应用程序将数据加载到JTable中 应用程序轮询某些网络参数上的消息。当消息到达时,它将加载到JTable中 现在我想给用户一个搜索选项。当他在jDialog框中键入任何字符串时,应用程序应该关注字符串与表中行数据匹配的特定行。填充表时,表模型会发生变化。每一行都是向量,所以表就是向量的向量。 什么样的数据结构适用于此?循环遍历每一行向量并进行搜索?搜索是在表的
什么样的数据结构适用于此?循环遍历每一行向量并进行搜索?搜索是在表的模型上完成的-您是向量的向量。如果您正在执行freetext搜索(并且不想计算索引),那么您的数据结构是合适的,因为您必须测试每个单元格是否包含搜索字符串或与模式匹配。基本上你想做这样的事情:
List<List<String>> tableModel = getTableModel(); // some magic at the beginning
String searchString = getSearchString();
for (List<String> row:tableModel) {
for (String cell:row) {
if (cell.contains(searchString)) {
// We've found one cell that contains the search string
}
}
}
List tableModel=getTableModel();//一开始有些魔力
String searchString=getSearchString();
对于(列表行:tableModel){
用于(字符串单元格:行){
if(单元格包含(搜索字符串)){
//我们找到了一个包含搜索字符串的单元格
}
}
}
谢谢。这就是我想做的。但我想知道,是否有更好的方法。表中的行数从1到最多200行不等。每行有6个字段。@Chirota-如果您只需要访问1200个单元格,则不必关心性能。对于更大的模型,人们可以考虑索引输入数据并使用像Lucene这样的库,但是这是一个很大的努力,并且在你的场景中是不值得的。如果你只运行到1200个比较,我就不会担心效率。