2010-11-19 111 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