問題を解決してよかったですが、他の人がこれに遭遇した場合、 を繰り返したい場合はentrySet()
、2 つの方法があります。それを行う最初の方法:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Testing {
public static void main(String[] args) {
Map<String, String> strMap = new HashMap<String, String>();
strMap.put("foo", "bar");
strMap.put("alpha", "beta");
for (Iterator<Entry<String, String>> iter = strMap.entrySet().iterator(); iter.hasNext(); )
{
Entry<String, String> entry = iter.next();
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
}
コードの上部にあるインポートに注意してください。おそらくIterator
.
そして2番目:
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class Testing {
public static void main(String[] args) {
Map<String, String> strMap = new HashMap<String, String>();
strMap.put("foo", "bar");
strMap.put("alpha", "beta");
for (Entry<String, String> entry : strMap.entrySet())
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
これはfor-each ループと呼ばれ、を使用する必要がまったくなくなりIterator
、コードがはるかに単純になります。これを配列で使用して、インデックスの必要性をなくすこともできることに注意してください。
String[] strs = {"foo", "bar"};
for (String str : strs)
System.out.println(str);