最最常用的 100 个 Java 类

大部分的 Java 软件开发都会使用到各种不同的库。近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库,也有第三方库。每个类在同一个项目中只计数一次,下面的列表中显示前 100 名的类。

以下列表中按使用最多的类进行排序,第三个数值表示 10000 个项目里使用到该类的项目数,而完整的列表请看 here.

  1. java.util.ArrayList (6958)

  2. java.io.IOException (6866)

  3. java.util.List (6784)

  4. java.util.HashMap (5590)

  5. java.util.Map (5413)

  6. java.io.File (5097)

  7. java.io.InputStream (4234)

  8. java.util.Set (3915)

  9. java.util.Arrays (3884)

  10. java.util.Iterator (3856)

  11. java.util.Collections (3643)

  12. java.util.Date (3461)

  13. java.util.HashSet (3278)

  14. java.io.BufferedReader (3257)

  15. java.util.Collection (3192)

  16. java.net.URL (3168)

  17. java.io.FileInputStream (3044)

  18. java.io.InputStreamReader (3023)

  19. org.junit.Test (3008)

  20. java.io.FileOutputStream (2843)

  21. java.io.FileNotFoundException (2669)

  22. java.io.OutputStream (2563)

  23. java.util.regex.Pattern (2469)

  24. java.io.Serializable (2437)

  25. java.util.LinkedList (2372)

  26. java.text.SimpleDateFormat (2245)

  27. java.util.Properties (2190)

  28. java.util.Random (2171)

  29. java.lang.reflect.Method (2141)

  30. java.io.ByteArrayOutputStream (2112)

  31. java.util.regex.Matcher (2012)

  32. android.os.Bundle (2007)

  33. java.util.logging.Logger (1999)

  34. java.io.UnsupportedEncodingException (1968)

  35. org.junit.Before (1920)

  36. java.util.Comparator (1896)

  37. java.io.ByteArrayInputStream (1868)

  38. java.io.PrintWriter (1862)

  39. java.util.Calendar (1854)

  40. android.app.Activity (1843)

  41. java.net.MalformedURLException (1828)

  42. android.content.Context (1780)

  43. android.view.View (1731)

  44. java.util.Locale (1719)

  45. java.util.Enumeration (1709)

  46. java.util.Map.Entry (1705)

  47. java.io.FileWriter (1677)

  48. java.io.FileReader (1651)

  49. android.util.Log (1614)

  50. android.content.Intent (1601)

  51. java.lang.reflect.InvocationTargetException (1594)

  52. java.util.logging.Level (1557)

  53. java.lang.reflect.Field (1499)

  54. java.io.StringWriter (1499)

  55. android.widget.TextView (1442)

  56. java.util.LinkedHashMap (1409)

  57. java.io.Reader (1390)

  58. java.net.URI (1377)

  59. java.io.Writer (1339)

  60. java.text.ParseException (1318)

  61. junit.framework.TestCase (1318)

  62. java.io.OutputStreamWriter (1295)

  63. java.io.StringReader (1279)

  64. java.io.BufferedWriter (1265)

  65. java.util.Vector (1254)

  66. java.util.StringTokenizer (1251)

  67. java.text.DateFormat (1246)

  68. java.util.concurrent.TimeUnit (1237)

  69. java.io.BufferedInputStream (1235)

  70. java.util.TreeMap (1227)

  71. org.xml.sax.SAXException (1218)

  72. javax.servlet.http.HttpServletRequest (1175)

  73. java.io.PrintStream (1168)

  74. java.util.TreeSet (1160)

  75. android.widget.Toast (1157)

  76. java.util.Hashtable (1154)

  77. java.lang.reflect.Constructor (1139)

  78. java.net.URLEncoder (1134)

  79. java.security.NoSuchAlgorithmException (1134)

  80. org.w3c.dom.Document (1130)

  81. android.widget.Button (1129)

  82. org.junit.After (1128)

  83. javax.servlet.http.HttpServletResponse (1109)

  84. java.awt.Color (1099)

  85. java.net.URISyntaxException (1085)

  86. javax.servlet.ServletException (1081)

  87. javax.xml.parsers.DocumentBuilderFactory (1076)

  88. java.lang.annotation.Retention (1075)

  89. java.security.MessageDigest (1072)

  90. java.util.concurrent.Executors (1062)

  91. java.net.UnknownHostException (1057)

  92. org.slf4j.Logger (1054)

  93. java.sql.SQLException (1043)

  94. org.slf4j.LoggerFactory (1042)

  95. java.util.UUID (1040)

  96. java.net.InetAddress (1026)

  97. junit.framework.Assert (1011)

  98. android.view.ViewGroup (1005)

  99. java.util.concurrent.ConcurrentHashMap (1001)

  100. java.awt.event.ActionEvent (995)

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

下图是包使用的分布图:

popular-java-classes

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

来源于: http://www.oschina.net/news/55726/top-100-classes-used-in-java-projects


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值