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 commonly used class. The third value indicates the number of projects using this class among 10,000 projects. For the complete list, please see 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 Strings. Math, StringBuilder and other classes, so there is no need to exclude them.
The above is the detailed content of The 100 most frequently occurring classes in Java. For more information, please follow other related articles on the PHP Chinese website!