转载:http://www.oschina.net/news/55726/top-100-classes-used-in-java-projects
大部分的 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)
-
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.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.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.StringReader(1279)
-
java.io.BufferedWriter(1265)
-
java.util.Vector(1254)
-
java.text.DateFormat(1246)
-
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)
-
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 等类,所以没必要对它们进行排除。
viaprogramcreek
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
转载请注明:文章转载自: 开源中国社区[ http://www.oschina.net]
本文标题:最最常用的 100 个 Java 类
本文地址: http://www.oschina.net/news/55726/top-100-classes-used-in-java-projects