Java搜索字符串

时间:2010-11-08 11:30:29

标签: java search

我正在开发一个基于swing的应用程序。其中有一个JTable。数据以两种方式填充在JTable中 -

  1. 用户选择文件(文件选择器等).Application将数据加载到JTable中。
  2. 应用程序轮询某些网络参数上的消息。当消息到达时,它会加载到JTable中。
  3. 我现在想给用户提供搜索选项。当他在jDialog框中键入任何字符串时,应用程序应该关注字符串与表行中数据匹配的特定行。当填充表时,TableModel会更改。每行是矢量所以表是矢量的矢量。 什么数据结构适合这个?循环遍历每一行Vector和搜索?

1 个答案:

答案 0 :(得分:2)

在桌子的模型上进行搜索 - 你是向量的向量。如果您正在进行自由文本搜索(并且不想计算索引),那么您的数据结构是合适的,因为如果每个单元格包含搜索字符串或与模式匹配,则必须对其进行测试。基本上你想做这样的事情:

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
    }
  }
}