Algorithm 使过滤系统与Excel相似的最佳逻辑是什么?

Algorithm 使过滤系统与Excel相似的最佳逻辑是什么?,algorithm,user-interface,Algorithm,User Interface,我有一个列表字符串数组来保存表格数据,我们在advanced there 2 fields中知道项目及其价格: String[] myArr1={"car","12014"}; String[] myArr2={"book","120"}; String[] myArr3={"chair","500"}; String[] myArr4={"car","510"}; String[] myArr5={"book","50"}; 以上所有字符串数组都应放入一个列表中 然后,我想制作一个类似于Ex

我有一个列表字符串数组来保存表格数据,我们在advanced there 2 fields中知道项目及其价格:

String[] myArr1={"car","12014"};
String[] myArr2={"book","120"};
String[] myArr3={"chair","500"};
String[] myArr4={"car","510"};
String[] myArr5={"book","50"};
以上所有字符串数组都应放入一个列表中

然后,我想制作一个类似于Excel的过滤系统,例如,当用户单击项目列时,将弹出一个面板&如下所示:

Exter Text:_____ (a textbox that user can type in data & the List should show only rows that match that data) (A List of check boxes of ALL UNIQUE text in the Item column, if user uncheck then all the rows that contain that data will be removed, just like in Excel.) [x] Car [x] Book [x] Chair Exter Text:uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 仅与该数据匹配的行) (项目列中所有唯一文本的复选框列表,如果用户 取消选中,则将删除包含该数据的所有行,就像在Excel中一样。) [x] 汽车 [x] 书 [x] 椅子
这个问题不是关于一种特定的语言,因为我只想知道构建这个系统的逻辑。逻辑应该优雅、简单、合理且易于编码

我个人会储存一袋列值(
Set
Java)LinkedHashSet将按输入的顺序存储它们,因此您可以按字母顺序排列值。这将是关于列中的值的元数据


这样做的好处是,
Set
s可以快速访问,并且只允许唯一值,因此您的唯一值列表不会以与列中的值相同的速度增长(除非所有值都是唯一的)

过短,我需要更多信息您需要什么更多信息?当用户在文本框中键入数据时,系统需要相应地选中或取消选中数据,如何优雅地做到这一点?嗯,您有一个值列表。假设列中的值不是按任何特定顺序排列的,则只需对其进行迭代并选中需要检查的框。如果列中的值已排序,则可以使用多种搜索算法之一节省一些时间