La plupart des développements de logiciels Java utilisent diverses bibliothèques. Récemment, nous avons analysé 10 000 projets Java open source et extrait les classes Java les plus couramment utilisées. Ces classes proviennent de la bibliothèque standard Java et de bibliothèques tierces. Chaque classe n'est comptée qu'une seule fois dans le même projet et les 100 meilleures classes sont affichées dans la liste ci-dessous.
La liste suivante est triée par classe la plus utilisée. La troisième valeur représente le nombre de projets utilisant cette classe sur 10 000 projets. La liste complète peut être trouvée ici .
java.util.ArrayList(6958)
java.io.IOException(6866)
java.util.List(6784)
java.util.HashMap(5590)
java.util.Map(5413)
java.io.Fichier(5097)
java.io.InputStream(4234)
java.util.Set(3915)
java.util.Arrays(3884)
java.util.Itérateur(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.Sérialisable (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.Avant (1920)
java.util.Comparator(1896)
java.io.ByteArrayInputStream(1868)
java.io.PrintWriter(1862)
java.util.Calendar(1854)
android.app.Activité (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.Après(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)
Dans le tableau ci-dessus, il n'est pas surprenant que 85 d'entre elles constituent la bibliothèque standard de Java, car elles font partie du langage lui-même, impliquant les packages util, lang et io.
La figure suivante est le diagramme de distribution de l'utilisation du package :
L'enquête consiste à analyser les instructions d'importation dans le fichier de code source, afin que vous n'ayez pas trouvé un grand nombre de classes String, Math, StringBuilder et autres, il n'est donc pas nécessaire de les exclure.
via ProgramCreek