Java项目中使用频率最高的100个类

Java软件开发的很大一部分都使用来自各种库的API。我从10,000个开源Java项目中提取了API类的频率。这些类来自Java标准库或第三方库。每个类别对每个项目计一次。以下列表显示了前100名。

1.前100个Java类

括号中的数字是频率,范围为1-10,000。例如,“ java.util.ArrayList(6958)”表示在10,000个项目中,其中5958个使用java.util.ArrayList。
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)

2.频率列表的潜在用途

其中85个来自Java标准库也就不足为奇了,因为它是语言的一部分。在这85个中,大多数来自util,lang和io。
该列表可以用于以下用途。
1.使用一个班级的频率反映了它的受欢迎程度和重要性。对于刚开始的Java开发人员,首先学习最有用的API可能是一个不错的策略。
2.全世界大多数开发人员都反映了Java开发的趋势。在前100名中,我们可以看到Android非常流行。
3.当两个类具有相同/相似的功能时,具有较高频率的类表示该类是首选。出于各种原因(例如可用性,文档,时间复杂度,能耗等),可能会首选此类。
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值