2010-11-19 112 views
-6

可能重复:
how to search like LIKe operator in sql in hash map in java如何使用startsWith检查equalignorecase在HashMap中使用Java

如何使用startsWith检查equalignorecase在HashMap中使用Java 给例如

谢谢

+3

这个问题没有多大意义。您对问题的投入越多,您所获得答案的质量和数量越好。你可以扩大(显着)什么**完全**它是你需要帮助? – 2010-11-19 13:01:43

+3

请不要再提问基本相同的问题。阅读你在其他问题中已经得到的答案。 – 2010-11-19 13:05:04

+0

@Jon,谁知道,可能在其中的一个问题,他可能实际上它措词恰当:) – OscarRyz 2010-11-19 13:07:05

回答

1

我无法理解您的问题。然而,从我可以推论出:

使用equals(Object o)操作比较HashMap中的键的相等性。你不能改变这一点。但是,你可以实现自己的密钥,例如执行不区分大小写的比较:

public class Key { 
    private final String s; 
    private final int hashCode; 

    public Key(String s) { 
    this.s = s; 
    this.hashCode = s.toUpperCase().hashCode(); 
    } 

    public int hashCode() { return hashCode; } 

    public boolean equals(Object o) { 
    if (this == o) { 
     return true; 
    } else if (o instanceof Key) { 
     return this.s.equalsIgnoreCase(((Key)o).s); 
    } else { 
     return false; 
    } 

    } 
} 
0

肯定的:

考虑:

Map<String,String> map = new HashMap<String,String>(); 

您可致电:

map.get(someKey).equalsIgnoreCase(someValue) 

and

map.get(someKey).startsWith(someOtherValue); 
+0

是啊,也许这就是他的意思...我不知道:-) – Adamski 2010-11-19 13:06:18

+0

@Adamski谁知道! : -/ – OscarRyz 2010-11-19 13:08:14

+0

我在散列地图中存储公司名称。如果用户输入“A”,它将与地图值相等的对照检查并显示给所有公司以A开始 – mohan 2010-11-19 14:20:04