在 Java中,許多類都是?Iterable?,主要包括所有的?Collection?類(但不包括各種?Maps?)。 例如,下面的代碼可以顯示所有的操作系統環境變量:
// collections/EnvironmentVariables.java
// {VisuallyInspectOutput}
import java.util.*;public class EnvironmentVariables {public static void main(String[] args) {for(Map.Entry entry: System.getenv().entrySet()) {System.out.println(entry.getKey() + ": " +entry.getValue());}}
}
PATH: /Library/Frameworks/Python.framework/Versions/3.8/bin:/Users/chy/Library/apache-maven-3.6.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/chy/Library/tomcat9.27/bin
SHELL: /bin/bash
USER: wangyixuan
TMPDIR: /var/folders/_t/s_5zr51n5kv_qc8rkjn_d84h0000gn/T/
SSH_AUTH_SOCK: /private/tmp/com.apple.launchd.V3hV7RDf03/Listeners
XPC_FLAGS: 0x0
VERSIONER_PYTHON_VERSION: 2.7
__CF_USER_TEXT_ENCODING: 0x1F5:0x19:0x34
LOGNAME: wangyixuan
LC_CTYPE: zh_CN.UTF-8
M3_HOME: /Users/chy/Library/apache-maven-3.6.3
PWD: /Users/chy/Documents/JavaProject/Java8
XPC_SERVICE_NAME: com.jetbrains.intellij.1576
JAVA_MAIN_CLASS_16255: EnvironmentVariables
HOME: /Users/chy
System.getenv()
?返回一個?Map?,?entrySet()
?產生一個由?Map.Entry?的元素構成的?Set?,并且這個?Set?是一個?Iterable?,因此它可以用于?for-in?循環。for-in?語句適用于數組或其它任何?Iterable?,但這并不意味著數組肯定也是個?Iterable?,也不會發生任何自動裝箱