Most Java software development uses various libraries. Recently, we analyzed 10,000 open source Java projects and extracted the most commonly used Java classes. These classes come from Java's standard library and third-party libraries. Each class is counted only once in the same project, and the top 100 classes are shown in the list below.
The following list is sorted by the most used class. The third value represents the number of projects using this class out of 10,000 projects. The complete list can be found 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)
In the above table, it is not surprising that 85 of them are Java's standard library, because this is part of the language itself, involving the util, lang and io packages.
The following figure is the distribution diagram of package usage:
The investigation is to analyze the import statements in the source code file, so you did not find a large number of String, Math, StringBuilder and other classes, so there is no need to exclude them.
via programcreek