最最常用的 100 個 Java 類
大部分的 Java 軟件開發都會使用到各種不同的庫。近日我們從一萬個開源的 Java 項目中進行分析,從中提取出最常用的 Java 類,這些類有來自于 Java 的標準庫,也有第三方庫。每個類在同一個項目中只計數一次,下面的列表中顯示前 100 名的類。
以下列表中按使用最多的類進行排序,第三個數值表示 10000 個項目里使用到該類的項目數,而完整的列表請看 here.
java.util.ArrayList (6958)
java.io.IOException (6866)
java.util.List (6784)
java.util.HashMap (5590)
java.util.Map (5413)
java.io.File (5097)
java.io.InputStream (4234)
java.util.Set (3915)
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 包。
下圖是包使用的分布圖:
該調查是分析源碼文件中的 import 語句,因此你并沒有發現大量的 String, Math, StringBuilder 等類,所以沒必要對它們進行排除。
來自: programcreek