我正在尝试创建内存数据库解决方案。 HashMap
或 TreeSet
。我知道如何使用 contains 搜索值,如果这是正常的数据库情况,这会更容易。但是,如果我尝试搜索不区分大小写的值或大于或小于的数值,在这种情况下我将如何处理?
这是我的姓氏方法,但它只是一个简单的包含,如果不区分大小写则找不到
case 4:
Scanner input4 = new Scanner(System.in);
System.out.println("Search Last Name ");
String retLn = input4.nextLine();
if(employeeKey.containsKey(retLn))
{
EmpManager searchedEmp = employeeKey.get(retLn);
System.out.println(searchedEmp);
System.out.println("");
}
else
{
System.out.println("No Last Name Found");
System.out.println("");
}
请您参考如下方法:
您可以将TreeMap
与自定义Comparator
结合使用。
当您想要不区分大小写的比较时:
new TreeMap<String,V>(String.CASE_INSENSITIVE_ORDER);
当您想要基于整数的比较时:
new TreeMap<Integer,V>(Comparator.naturalOrder());
或者只使用默认比较器:
new TreeMap<Integer,V>();
要查找大于或小于某个值的所有条目,请使用 headMap()、tailMap() 或 subMap()