如何實現基於Java的自動建議。假設我有不同類型的數據,如firstName,rollNumber,address。如何在java中實現自定義自動建議如google
我的第一個要求是,如果用戶在文本框中輸入第一個字符,那麼結果應該按照基於firstName的自然順序排序,並且應該顯示10個結果。
空格後如果使用輸入第二個字符,並且如果它是numbere,那麼RollNumber else lastName應該按照自然順序按升序排序。
或者如果用戶鍵入第三個字符,則地址應按升序顯示。應該沒有數據庫,您不必執行Solr或其他api。如何在純Java上實現。
在這裏我沒有實現的文本框,但我只花了一個例子來說明
import java.util.*;
import java.lang.*;
import java.io.*;
// A class to represent a student.
class Student {
int rollno;
String name;
String address;
// Constructor
public Student(int rollno, String name, String address) {
this.rollno = rollno;
this.name = name;
this.address = address;
}
// Used to print student details in main()
public String toString(){
return this.rollno + " " + this.name +
" " + this.address;
}
}
class Sortbyroll implements Comparator<Student> {
// Used for sorting in ascending order of rollno
public int compare(Student a, Student b) {
return a.rollno - b.rollno;
}
}
class Sortbyname implements Comparator<Student> {
// Used for sorting in ascending order of name
public int compare(Student a, Student b) {
return a.name.compareTo(b.name);
}
}
// Driver class
class Main {
public static void main (String[] args) {
ArrayList<Student> ar = new ArrayList<Student>();
//here I have thousand student are inserted into
//simple collection.
ar.add(new Student(111, "bbbb", "london"));
ar.add(new Student(131, "aaaa", "nyc"));
ar.add(new Student(121, "cccc", "jaipur"));
System.out.println("Unsorted");
for (int i=0; i<ar.size(); i++) {
System.out.println(ar.get(i));
}
//collection sorted by rollno
Collections.sort(ar, new Sortbyroll());
System.out.println("\nSorted by rollno");
for (int i=0; i<ar.size(); i++) {
System.out.println(ar.get(i));
}
//sort by Name
Collections.sort(ar, new Sortbyname());
System.out.println("\nSorted by name");
for (int i=0; i<ar.size(); i++) {
System.out.println(ar.get(i));
}
}
}
你要使用哪種前端框架,應該使用自動提示組件下拉菜單;你可以利用它。不需要爲此編寫自己的邏輯。 – Vinoth
不,我不想要任何框架,我只是想測試Java,後來我會實現框架。 – shiv
那麼,你想編寫自己的基於Java的UI框架?不使用Swing,JavaFX,SWT或類似的東西?祝你好運。或者,也許你想使用UI框架,但甚至不知道存在以及從哪裏開始?如果是這樣,從決定你真正想做什麼開始。然後閱讀文檔。 –