2013-05-29 188 views
0

我需要创建一个JTextField搜索,用户可以在其中输入输入,并且在我的arraylist对象中的匹配项在JTextArea中返回。Java搜索输入

如何返回条目,即使他们只输入了说电影名称的一部分。例如,如果用户只输入一个“a”,我怎样才能返回ArrayList中所有以一个例如绑定的,自由通量开始的条目。另一个例子是如果ArrayList包含标题“哈利波特”,如果用户只输入“哈利波”,我将如何返回此条目。它需要工作,无论大小写。

+0

我一直在做一些研究。我可以使用正则表达式吗? – batsta13

回答

1

如果您希望它不区分大小写,您可以使用toUpperCase()toLowerCase(),并且startsWith()

如果你真的想要“哈利普”(没有空间)匹配“哈利波特”,那么你必须在比较输入之前删除条目中的所有空格。

如果您提供了一些代码,我可以告诉你它是如何工作的。

0

您需要迭代ArrayList并检查输入和迭代项目的相似性。 你可以做到简单或更复杂。最简单的做法是让两个字符串都是小写字母并检查子字符串。

如果你想已经纠正拼写错误,你可以使用Levenstein distance它告诉你,你需要多少个字符在一个字符串中改变,以获得其他(和容忍例如两个拼错) - 看到Apache的百科全书功能getLevenshteinDistance()

欲了解更多信息,请登录this answer