大部分的 Java 軟件開發都會使用到各類不一樣的庫。近日咱們從一萬個開源的 Java 項目中進行分析,從中提取出最經常使用的 Java 類,這些類有來自於 Java 的標準庫,也有第三方庫。每一個類在同一個項目中只計數一次,下面的列表中顯示前 100 名的類。 php
如下列表中按使用最多的類進行排序,第三個數值表示 10000 個項目裏使用到該類的項目數,而完整的列表請看 here. java
java.util.ArrayList (6958) android
java.io.IOException (6866) sql
java.util.List (6784) api
java.util.HashMap (5590) app
java.util.Map (5413) dom
java.io.File (5097) ui
java.io.InputStream (4234) spa
java.util.Set (3915) .net
java.util.Arrays (3884)
java.util.Iterator (3856)
java.util.Collections (3643)
java.util.Date (3461)
java.util.HashSet (3278)
java.io.BufferedReader (3257)
java.util.Collection (3192)
java.net.URL (3168)
java.io.FileInputStream (3044)
java.io.InputStreamReader (3023)
org.junit.Test (3008)
java.io.FileOutputStream (2843)
java.io.OutputStream (2563)
java.util.regex.Pattern (2469)
java.io.Serializable (2437)
java.util.LinkedList (2372)
java.text.SimpleDateFormat (2245)
java.util.Properties (2190)
java.util.Random (2171)
java.lang.reflect.Method (2141)
java.util.regex.Matcher (2012)
android.os.Bundle (2007)
java.util.logging.Logger (1999)
org.junit.Before (1920)
java.util.Comparator (1896)
java.io.ByteArrayInputStream (1868)
java.io.PrintWriter (1862)
java.util.Calendar (1854)
android.app.Activity (1843)
android.content.Context (1780)
android.view.View (1731)
java.util.Locale (1719)
java.util.Enumeration (1709)
java.util.Map.Entry (1705)
java.io.FileWriter (1677)
java.io.FileReader (1651)
android.util.Log (1614)
android.content.Intent (1601)
java.util.logging.Level (1557)
java.lang.reflect.Field (1499)
java.io.StringWriter (1499)
android.widget.TextView (1442)
java.util.LinkedHashMap (1409)
java.io.Reader (1390)
java.net.URI (1377)
java.io.Writer (1339)
java.text.ParseException (1318)
junit.framework.TestCase (1318)
java.io.OutputStreamWriter (1295)
java.io.StringReader (1279)
java.io.BufferedWriter (1265)
java.util.Vector (1254)
java.util.StringTokenizer (1251)
java.text.DateFormat (1246)
java.io.BufferedInputStream (1235)
java.util.TreeMap (1227)
org.xml.sax.SAXException (1218)
java.io.PrintStream (1168)
java.util.TreeSet (1160)
android.widget.Toast (1157)
java.util.Hashtable (1154)
java.net.URLEncoder (1134)
org.w3c.dom.Document (1130)
android.widget.Button (1129)
org.junit.After (1128)
java.awt.Color (1099)
java.net.URISyntaxException (1085)
java.security.MessageDigest (1072)
org.slf4j.Logger (1054)
java.sql.SQLException (1043)
org.slf4j.LoggerFactory (1042)
java.util.UUID (1040)
java.net.InetAddress (1026)
junit.framework.Assert (1011)
android.view.ViewGroup (1005)
上表中,一點也不奇怪,有 85 個是 Java 的標準庫,由於這是語言自己的一部分,涉及 util、lang 和 io 包。