最最常用的 100 个 Java 类

网友投稿 325 2022-06-16


大部分的 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.FileNotFoundException (2669)

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.io.ByteArrayOutputStream (2112)

java.util.regex.Matcher (2012)

android.os.Bundle (2007)

java.util.logging.Logger (1999)

java.io.UnsupportedEncodingException (1968)

org.junit.Before (1920)

java.util.Comparator (1896)

java.io.ByteArrayInputStream (1868)

java.io.PrintWriter (1862)

java.util.Calendar (1854)

android.app.Activity (1843)

java.net.MalformedURLException (1828)

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.lang.reflect.InvocationTargetException (1594)

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.util.concurrent.TimeUnit (1237)

java.io.BufferedInputStream (1235)

java.util.TreeMap (1227)

org.xml.sax.SAXException (1218)

javax.servlet.http.HttpServletRequest (1175)

java.io.PrintStream (1168)

java.util.TreeSet (1160)

android.widget.Toast (1157)

java.util.Hashtable (1154)

java.lang.reflect.Constructor (1139)

java.net.URLEncoder (1134)

java.security.NoSuchAlgorithmException (1134)

org.w3c.dom.Document (1130)

android.widget.Button (1129)

org.junit.After (1128)

javax.servlet.http.HttpServletResponse (1109)

java.awt.Color (1099)

java.net.URISyntaxException (1085)

javax.servlet.ServletException (1081)

javax.xml.parsers.DocumentBuilderFactory (1076)

java.lang.annotation.Retention (1075)

java.security.MessageDigest (1072)

java.util.concurrent.Executors (1062)

java.net.UnknownHostException (1057)

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)

java.util.concurrent.ConcurrentHashMap (1001)

java.awt.event.ActionEvent (995)

上表中,一点也不奇怪,有 85 个是 Java 的标准库,因为这是语言本身的一部分,涉及 util、lang 和 io 包。

下图是包使用的分布图:

该调查是分析源码文件中的 import 语句,因此你并没有发现大量的 String, Math, StringBuilder 等类,所以没必要对它们进行排除。

via: programcreek


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实现接口的定义(接口,定义接口的关键字是 interface 实现接口关键字是 implements)
下一篇:实现接口的办法(Java 接口与实现(详细版))
相关文章

 发表评论

暂时没有评论,来抢沙发吧~