我有以下代码段。我需要查看地图中是否有任何关键字模式搜索和折扣。请帮助。
public class MapStringSearch {
public static void main(String[] args) {
Map test = new HashMap();
test.put("discount.1", 1);
test.put("discount.2", 2);
test.put("discount.3", 3);
test.put("voucher.4", 4);
}
}
答案 0 :(得分:1)
其中一种方式是:
for ( String key : test.keySet() ) {
if(key.contains("discount"))
// do something...
else
// do something...
}
答案 1 :(得分:1)
Iterator it = test.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
System.out.println(pairs.getKey().toLowerCase().contains("YourString"))
}
答案 2 :(得分:0)
我倾向于这样做:
discount.put("1", 1);
discount.put("2", 2);
discount.put("3", 3);
test.put("discounts", discount);
所以要找折扣:
test.get("discounts");
在此之后你可以使用keyset(或entryset)进行迭代,或者使用get ...找到具体的折扣。
你可以迭代密钥集,但是老实说;我将重新定义我的应用程序的de数据方案,以便在hashmap中没有“something。[0-9]”元素。
答案 3 :(得分:0)
我会使用SortedMap而不是HashMap并检查是否tailMap("discount").firstKey().stratsWith("discount")