我正在开发一个基于swing的应用程序。其中有一个JTable。数据以两种方式填充在JTable中 -
我现在想给用户提供搜索选项。当他在jDialog框中键入任何字符串时,应用程序应该关注字符串与表行中数据匹配的特定行。当填充表时,TableModel会更改。每行是矢量所以表是矢量的矢量。 什么数据结构适合这个?循环遍历每一行Vector和搜索?
答案 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
}
}
}