我需要創建一個JTextField搜索,用戶可以在其中輸入輸入,並且在我的arraylist對象中的匹配項在JTextArea中返回。Java搜索輸入
如何返回條目,即使他們只輸入了說電影名稱的一部分。例如,如果用戶只輸入一個「a」,我怎樣才能返回ArrayList中所有以一個例如綁定的,自由通量開始的條目。另一個例子是如果ArrayList包含標題「哈利波特」,如果用戶只輸入「哈利波」,我將如何返回此條目。它需要工作,無論大小寫。
我需要創建一個JTextField搜索,用戶可以在其中輸入輸入,並且在我的arraylist對象中的匹配項在JTextArea中返回。Java搜索輸入
如何返回條目,即使他們只輸入了說電影名稱的一部分。例如,如果用戶只輸入一個「a」,我怎樣才能返回ArrayList中所有以一個例如綁定的,自由通量開始的條目。另一個例子是如果ArrayList包含標題「哈利波特」,如果用戶只輸入「哈利波」,我將如何返回此條目。它需要工作,無論大小寫。
如果您希望它不區分大小寫,您可以使用toUpperCase()
和toLowerCase()
,並且startsWith()
。
如果你真的想要「哈利普」(沒有空間)匹配「哈利波特」,那麼你必須在比較輸入之前刪除條目中的所有空格。
如果您提供了一些代碼,我可以告訴你它是如何工作的。
您需要迭代ArrayList並檢查輸入和迭代項目的相似性。 你可以做到簡單或更復雜。最簡單的做法是讓兩個字符串都是小寫字母並檢查子字符串。
如果你想已經糾正拼寫錯誤,你可以使用Levenstein distance它告訴你,你需要多少個字符在一個字符串中改變,以獲得其他(和容忍例如兩個拼錯) - 看到Apache的百科全書功能getLevenshteinDistance()。
欲瞭解更多信息,請登錄this answer。
我一直在做一些研究。我可以使用正則表達式嗎? – batsta13