我一直在尝试让我的小型应用程序仅打印哈希图中的特定键(其中不包含“不需要的”字符串)。我尝试这样做的方式如下所示:
Map<String, Integer> items = new HashMap<String, Integer>();
String[] unwanted = {"hi", "oat"};
items.put("black shoes", 1);
items.put("light coat", 10);
items.put("white shoes", 40);
items.put("dark coat", 90);
for(int i = 0; i < unwanted.length; i++) {
for(Entry<String,Integer> entry : items.entrySet()) {
if(!entry.getKey().contains(unwanted[i])) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
}
}
然而它打印了这个:
dark coat = 90
black shoes = 1
light coat = 10
white shoes = 40
black shoes = 1
但是,它是用来代替打印的(因为它应该省略其中带有“hi”和“oat”的键,它们应该离开:)
black shoes = 1
我不知道为什么我看不到错误,但希望有人可以帮助我指出。