Top 100 Classes Used in Java Projects
2014-09-30 13:01
323 查看
1. Top 100 Java Classes
The number in parenthesis is the frequency, and it scales from 1 - 10,000. For example, “java.util.ArrayList (6958)” means out of 10,000 projects, 5958 of them use java.util.ArrayList. You can go to the full list 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)
2. Potential Usage of the Frequency List
It is not surprising that 85 are from Java standard library, since it is a part of the language. Among the 85, most of them are from util, lang and io.
This list may serve the following usage.
The frequency of usage of a class reflects its popularity and importance. For beginning Java developers, learning the most useful API first might be a good strategy.
The majority of developers all over the world reflect the trend of Java development. In this top 100, we can see that Android is very popular.
When two classes have the same/similar functionalities, the classes with the higher frequency means that the class is preferred. The classes may be preferred for different reasons, such as usability, documentation, time complexity, energy consumption, etc.
3. Distribution of the Whole List
As shown in the chart below, the distribution of the whole list has a very tall head and very long tail. So we should be interested in the top ones.
The survey is based on explicit imports in class files, foo.* is ignored, so you will not find a lot of classes in java.lang, such as String, Math, StringBuilder, etc., since it is not necessary to explicitly import them.
The number in parenthesis is the frequency, and it scales from 1 - 10,000. For example, “java.util.ArrayList (6958)” means out of 10,000 projects, 5958 of them use java.util.ArrayList. You can go to the full list 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)
2. Potential Usage of the Frequency List
It is not surprising that 85 are from Java standard library, since it is a part of the language. Among the 85, most of them are from util, lang and io.
This list may serve the following usage.
The frequency of usage of a class reflects its popularity and importance. For beginning Java developers, learning the most useful API first might be a good strategy.
The majority of developers all over the world reflect the trend of Java development. In this top 100, we can see that Android is very popular.
When two classes have the same/similar functionalities, the classes with the higher frequency means that the class is preferred. The classes may be preferred for different reasons, such as usability, documentation, time complexity, energy consumption, etc.
3. Distribution of the Whole List
As shown in the chart below, the distribution of the whole list has a very tall head and very long tail. So we should be interested in the top ones.
The survey is based on explicit imports in class files, foo.* is ignored, so you will not find a lot of classes in java.lang, such as String, Math, StringBuilder, etc., since it is not necessary to explicitly import them.
相关文章推荐
- When should inner classes be used in Java Interview Question
- SAX used in java to connect to database
- create log by common-logging and log4j in java project
- 100 bugs in Open Source C/C++ projects
- Reloading Java Classes 301: Classloaders in Web Development — Tomcat, GlassFish, OSGi, Tapestry 5 and so on Translation
- Fix a Man-made Mistake in Java Project of Eclipse
- SOAP used in java -----First Example
- 如何将svn上checkout下来的android 程序由java project转成android project in Eclipse
- The Atomic classes in Java 5: AtomicInteger and AtomicLong,AtomicReference etc.
- Using Java Classes in your .NET Application -摘自网络
- Hashtable and HashMap are two hash based collection in Java and used to store objects as key value p
- Inner classes in Java, the mystery within.
- Two classes cannot be put in a .java file
- Hidden Gems in the Java APIs - Utility Classes and Methods
- Enum variable is used in switch sentence-java
- Top 10 Things You Need to Know in java 6 beta 2
- classes in java
- HttpPost works in Java project, not in Android
- Top 15 Java threading interview questions asked in Investment banks
- Top 10 Collection Interview Questions Answers in Java