導航:首頁 > 編程語言 > java常用類詳解

java常用類詳解

發布時間:2023-05-16 08:11:38

① 說出java中一些常用的類,包,介面,請各舉5個~~~

類:1.java.lang.Object
2.java.lang.String
3.java.lang.System
4.java.io.file
5.java.io.FileInputStream
包:1.java.lang包
2.java.io包
3.java.swt包
4.java.util包
5.java.sql包
介面:1.java.util.List<E>
2.java.util.Map<E>
3.java.util.Iterator<E>
4.java.sql.CallableStatement
5.java.lang.Comparable<T>

② 請舉出5個常用的類、介面、包

  1. java常用的類:BufferedReader BufferedWriter ,FileReader FileWirter ,String Integer java.util.Date, Class, HashMap

  2. java常用的介面:List ,Map ,Document ,NodeList ,Servlet, HttpServletResponse, Transaction(Hibernate)、 Session(Hibernate), HttpSession

  3. java常用的包:java.lang ,java.io ,java.util ,java.sql ,javax.servlet ,org.apache.strtuts.action ,org.hibernate

拓展資料:

Java(計算機編程語言):Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等

③ JAVA的常用的類庫有哪些

一、日誌相關類庫

日誌庫是很常見的,因為你在每一個項目中都需要他們。列印日誌是伺服器端應用中最重要的事情,因為日誌是你了解你的程序發生了什麼的唯一途徑。盡管JDK附帶自己的日誌庫,但是還是有很多更好的選擇可用,例如 Log4j 、 SLF4j 和 LogBack。

Java開發人員應該熟悉日誌記錄的利弊, 並且了解為什麼SLF4J要比Log4J要好。

二、jsON解析庫

在當今世界的web服務和物聯網中(IoT),JSON已經取代了XML,成為從客戶端到伺服器傳送信息的首選協議。有一個好消息和一個壞消息。壞消息 是JDK沒有提供JSON庫。好消息是有許多優秀的第三方庫可以用來解析和創建JSON消息,如 Jackson 和 Gson

一個Java web開發人員應該熟悉Jackson 和 Gson這兩種中的至少一種庫。

三、單元測試庫

單元測試技術的使用,是區分一個一般的開發者和好的開發者的重要指標。程序員經常有各種借口不寫單元測試,但最常見的借口就是缺乏經驗和知識。常見的單測框架有 JUnit , Mockito 和PowerMock 。

《2020最新Java基礎精講視頻教程和學習路線!》


四、通用類庫

有幾個很好的第三方通用庫可供Java開發人員使用,例如 Apache Commons 和 Google Guava 。我會經常在我的代碼中使用這些通用類庫,因為這些類庫都是經過無數開發者實踐過的,無論是實用性還是在性能等方面都是最佳的。

五、Http 庫

我不是很喜歡JDK的一個重要原因就包括他們缺乏對HTTP的支持。雖然可以使用java.net包類,但是這和直接使用像 Apache HttpClient 和 HttpCore 等開源類庫比起來麻煩太多了。

盡管JDK 9將開始HTTP 2.0,也對HTTP的支持做了優化,但是我還是強烈建議所有的Java開發人員熟悉流行的HTTP處理類庫,例如HttpClient和HttpCore HTTP等庫。

六、XML解析庫

市面上有很多XML解析的類庫,如 Xerces , JAXB , JAXP , Dom4j , Xstream 等。 Xerces2是下一代高性能,完全兼容的XML解析工具。Xerces2定義了 Xerces Native Interface (XNI)規范,並提供了一個完整、兼容標準的 XNI 規范實現。該解析器是完全重新設計和實現的,更簡單以及模塊化。

七、Excel讀寫庫

許多應用程序需要提供把數據導出到Excel的功能,如果你要做相同的Java應用程序,那麼你需要 Apache POI API 。

這是一個非常豐富的類庫,你可以從Java程序讀寫XLS文件

八、位元組碼庫

如果你正在編寫一個框架或者類庫。有一些受歡迎的位元組碼庫如 javassist 和 Cglib Nodep 可以供你選擇,他們可以讓你閱讀和修改應用程序生成的位元組碼。

Javassist使得JAVA位元組碼操作非常簡單。它是一個為編輯Java位元組碼而生的類庫。 ASM 是另一個有用的位元組碼編輯庫。

九、資料庫連接池庫

如果你的Java應用程序與資料庫交互不是使用資料庫連接池庫的話,那麼你就大錯特錯了。因為在運行時創建資料庫連接非常耗時並且會拖慢你的程序。所以牆裂建議使用,有些好用的連接池可供選擇,如 Commons Pool 和 DBCP 。

在web應用程序中,web伺服器通常提供了這些功能。但是在java項目中需要把資料庫連接池的類庫導入到應用中。

十、消息傳遞庫

像日誌和資料庫連接池一樣,消息傳遞也是很多實際的Java項目中必備的。Java提供了JMS Java消息服務,但這不是JDK的一部分,你需要單獨的引入jms.jar。類似地,如果您准備使用第三方消息傳遞協議, Tibco RV 是個不錯的選擇。

十一、PDF處理庫

除了Excel和Word,PDF也是一種常用的文件格式。如果你的應用程序要支持PDF格式的文件處理,你可以使用 iText 和 Apache FOP 類庫。兩者都提供了非常有用的PDF處理功能。

十二、日期和時間庫

在Java之前,JDK的日期和時間庫一直被人們所詬病,比如其非線程安全的、不可變的、容易出錯等。很多開發人員會選擇更好用的 JodaTime 類庫。

但是在Java8推出之後,我們就可以徹底放棄JodaTime了,因為Java 8提供了其所有功能。但是,如果你的代碼運行在一個低版本的JDK中,那麼JodaTime還是值得使用的。

十三、集合類庫

雖然JDK有豐富的集合類,但還是有很多第三方類庫可以提供更多更好的功能。如 Apache Commons Collections 、 Goldman Sachs collections 、 Google Collections 和 Trove 。Trove尤其有用,因為它提供所有標准Collections 類的更快的版本以及能夠直接在原語(primitive)(例如包含int 鍵或值的Map 等)上操作的Collections 類的功能。

FastUtil是另一個類似的API,它繼承了Java Collection Framework,提供了數種特定類型的容器,包括映射map、集合set、列表list、優先順序隊列(prority queue),實現了java.util包的標准介面(還提供了標准類所沒有的雙向迭代器),還提供了很大的(64位)的array、set、list,以及快速、實用的二進制或文本文件的I/O操作類。

十四、郵件API

javax.mail 和 Apache Commons Email 提供了發送郵件的api。它們建立在JavaMail API的基礎上,提供簡化的用法。

十五、HTML解析庫

和XML與JSON類似,HTML是另外一種我們可能要打交道的傳輸格式。值得慶幸的是,我們有jsoup可以大大簡化Java應用程序使用HTML。你不僅可以使用 JSoup 解析HTML還可以創建HTML文檔。

十六、加密庫

Apache Commons家族中的 Commons Codec 就提供了一些公共的編解碼實現,比如Base64, Hex, MD5,Phonetic and URLs等等。

十七、嵌入式SQL資料庫庫

我真的是非常喜歡像 H2 這種內存資料庫,他可以嵌入到你的Java應用中。在你跑單測的時候如果你需要一個資料庫,用來驗證你的SQL的話,他是個很好的選擇。順便說一句,H2不是唯一嵌入式DB,你還有 Apache Derby 和 HSQL 可供選擇。

十八、JDBC故障診斷庫

有不錯的JDBC擴展庫的存在使得調試變得很容易,例如P6spy,這是一個針對資料庫訪問操作的動態監測框架,它使得資料庫數據可無縫截取和操縱,而不必對現有應用程序的代碼作任何修改。 P6Spy 分發包包括P6Log,它是一個可記錄任何 Java 應用程序的所有JDBC事務的應用程序。其配置完成使用時,可以進行數據訪問性能的監測。

十九、序列化庫

Google Protocol Buffer是一種輕便高效的結構化數據存儲格式,可以用於結構化數據串列化,或者說序列化。它很適合做數據存儲或 RPC 數據交換格式。可用於通訊協議、數據存儲等領域的語言無關、平台無關、可擴展的序列化結構數據格式。目前提供了 C++、Java、Python 三種語言的 API。

二十、網路

一些有用的網路庫主要有 Netty 的和 Apache MINA 。如果您正在編寫一個應用程序,你需要做的底層網路任務,可以考慮使用這些庫。

這都是每位Java開發人員應該熟悉的,並且十分有用的庫。Java生態系統非常龐大的,你會發現有很多不同的類庫可以做不同的事情。每個你想到的東西,都可能有一個庫可以做到。

要相信,你遇到的問題,肯定不止你一個遇到過。
要相信,也許有很多人比你更勤奮。
要相信,你用或不用,輪子就在那裡。
要相信,使用這些類庫,你和你的代碼都會變得更好。

原文鏈接:https://blog.csdn.net/u011001084/article/details/79216958

④ 羅列出你常用的JAVA類

java.applet 提供創建 applet 所必需的類和 applet 用來與其 applet 上下文通信的類。
java.awt 包含用於創建用戶界面和繪制圖形圖像的所有類。
java.awt.color 提供用於顏色空間的類。
java.awt.datatransfer 提供在應用程序之間和在應用程序內部傳輸數據的介面和類。
java.awt.dnd Drag 和 Drop 是一種直接操作操作,在許多圖形用戶界面系統中都會遇到它,它提供了一種機制,能夠在兩個與 GUI 中顯示元素邏輯相關的實體之間傳輸信息。
java.awt.event 提供處理由 AWT 組件所激發的各類事件的介面和類。
java.awt.font 提供與字體相關的類和介面。
java.awt.geom 提供用於在與二維幾何形狀相關的對象上定義和執行操作的 Java 2D 類。
java.awt.im 提供輸入方法框架所需的類和介面。
java.awt.im.spi 提供啟用可以與 Java 運行時環境一起使用的輸入方法開發的介面。
java.awt.image 提供創建和修改圖像的各種類。
java.awt.image.renderable 提供用於生成與呈現無關的圖像的類和介面。
java.awt.print 為通用的列印 API 提供類和介面。
java.beans 包含與開發 beans 有關的類,即基於 JavaBeansTM 架構的組件。
java.beans.beancontext 提供與 bean 上下文有關的類和介面。
java.io 通過數據流、序列化和文件系統提供系統輸入和輸出。
java.lang 提供利用 Java 編程語言進行程序設計的基礎類。
java.lang.annotation 為 Java 編程語言注釋設施提供庫支持。
java.lang.instrument 提供允許 Java 編程語言代理監測運行在 JVM 上的程序的服務。
java.lang.management 提供管理介面,用於監視和管理 Java 虛擬機以及 Java 虛擬機在其上運行的操作系統。
java.lang.ref 提供了引用對象類,支持在某種程度上與垃圾回收器之間的交互。
java.lang.reflect 提供類和介面,以獲取關於類和對象的反射信息。
java.math 提供用於執行任意精度整數演算法 (BigInteger) 和任意精度小數演算法 (BigDecimal) 的類。
java.net 為實現網路應用程序提供類。
java.nio 定義作為數據容器的緩沖區,並提供其他 NIO 包的概述。
java.nio.channels 定義了各種通道,這些通道表示到能夠執行 I/O 操作的實體(如文件和套接字)的連接;定義了用於多路復用的、非阻塞 I/O 操作的選擇器。
java.nio.channels.spi 用於 java.nio.channels 包的服務提供程序類。
java.nio.charset 定義用來在位元組和 Unicode 字元之間轉換的 charset、解碼器和編碼器。
java.nio.charset.spi java.nio.charset 包的服務提供程序類。
java.rmi 提供 RMI 包。
java.rmi.activation 為 RMI 對象激活提供支持。
java.rmi.dgc 為 RMI 分布式垃圾回收提供了類和介面。
java.rmi.registry 提供 RMI 注冊表的一個類和兩個介面。
java.rmi.server 提供支持伺服器端 RMI 的類和介面。
java.security 為安全框架提供類和介面。
java.security.acl 此包中的類和介面已經被 java.security 包中的類取代。
java.security.cert 提供用於解析和管理證書、證書撤消列表 (CRL) 和證書路徑的類和介面。
java.security.interfaces 提供的介面用於生成如 RSA Laboratory Technical Note PKCS#1 中所定義的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 演算法)密鑰,以及如 NIST 的 FIPS-186 中所定義的 DSA(數字簽名演算法)密鑰。
java.security.spec 提供密鑰規范和演算法參數規范的類和介面。
java.sql 提供使用 JavaTM 編程語言訪問並處理存儲在數據源(通常是一個關系資料庫)中的數據的 API。
java.text 提供以與自然語言無關的方式來處理文本、日期、數字和消息的類和介面。
java.util 包含集合框架、遺留的 collection 類、事件模型、日期和時間設施、國際化和各種實用工具類(字元串標記生成器、隨機數生成器和位數組)。
java.util.concurrent 在並發編程中很常用的實用工具類。
java.util.concurrent.atomic 類的小工具包,支持在單個變數上解除鎖定的線程安全編程。
java.util.concurrent.locks 為鎖定和等待條件提供一個框架的介面和類,它不同於內置同步和監視器。
java.util.jar 提供讀寫 JAR (Java ARchive) 文件格式的類,該格式基於具有可選清單文件的標准 ZIP 文件格式。
java.util.logging 提供 JavaTM 2 平台核心日誌工具的類和介面。
java.util.prefs 此包允許應用程序存儲並檢索用戶和系統首選項和配置數據。
java.util.regex 用於匹配字元序列與正則表達式指定模式的類。
java.util.zip 提供用於讀寫標准 ZIP 和 GZIP 文件格式的類。
javax.accessibility 定義了用戶界面組件與提供對這些組件進行訪問的輔助技術之間的協定。
javax.crypto 為 cryptographic(加密)操作提供類和介面。
javax.crypto.interfaces 按在 RSA Laboratories' PKCS #3 中定義的那樣提供 Diffie-Hellman 密鑰介面。
javax.crypto.spec 為密鑰規范和演算法參數規范提供類和介面。
javax.imageio Java Image I/O API 的主要包。
javax.imageio.event Java Image I/O API 的一個包,用於在讀取和寫入圖像期間處理事件的同步通知。
javax.imageio.metadata 用於處理讀寫元數據的 Java Image I/O API 的包。
javax.imageio.plugins.bmp 包含供內置 BMP 插件使用的公共類的包。
javax.imageio.plugins.jpeg 支持內置 JPEG 插件的類。
javax.imageio.spi 包含用於 reader、writer、transcoder 和流的插件介面以及一個運行時注冊表的 Java Image I/O API 包。
javax.imageio.stream Java Image I/O API 的一個包,用來處理從文件和流中產生的低級別 I/O。
javax.management 提供 Java Management Extensions 的核心類。
javax.management.loading 提供實現高級動態載入的類。
javax.management.modelmbean 提供了 ModelMBean 類的定義。
javax.management.monitor 提供 monitor 類的定義。
javax.management.openmbean 提供開放數據類型和 Open MBean 描述符類。
javax.management.relation 提供 Relation Service 的定義。
javax.management.remote 對 JMX MBean 伺服器進行遠程訪問使用的介面。
javax.management.remote.rmi RMI 連接器是供 JMX Remote API 使用的一種連接器,後者使用 RMI 將客戶端請求傳輸到遠程 MBean 伺服器。
javax.management.timer 提供對 Timer MBean(計時器 MBean)的定義。
javax.naming 為訪問命名服務提供類和介面。
javax.naming.directory 擴展 javax.naming 包以提供訪問目錄服務的功能。
javax.naming.event 在訪問命名和目錄服務時提供對事件通知的支持。
javax.naming.ldap 提供對 LDAPv3 擴展操作和控制項的支持。
javax.naming.spi 提供一些方法來動態地插入對通過 javax.naming 和相關包訪問命名和目錄服務的支持。
javax.net 提供用於網路應用程序的類。
javax.net.ssl 提供用於安全套接字包的類。
javax.print 為 JavaTM Print Service API 提供了主要類和介面。
javax.print.attribute 提供了描述 JavaTM Print Service 屬性的類型以及如何分類這些屬性的類和介面。
javax.print.attribute.standard 包 javax.print.attribute.standard 包括特定列印屬性的類。
javax.print.event 包 javax.print.event 包含事件類和偵聽器介面。
javax.rmi 包含 RMI-IIOP 的用戶 API。
javax.rmi.CORBA 包含用於 RMI-IIOP 的可移植性 API。
javax.rmi.ssl 通過安全套接字層 (SSL) 或傳輸層安全 (TLS) 協議提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的實現。
javax.security.auth 此包提供用於進行身份驗證和授權的框架。
javax.security.auth.callback 此包提供與應用程序進行交互所必需的類,以便檢索信息(例如,包括用戶名和密碼的身份驗證數據)或顯示信息(例如,錯誤和警告消息)。
javax.security.auth.kerberos 此包包含與 Kerberos 網路身份驗證協議相關的實用工具類。
javax.security.auth.login 此包提供可插入的身份驗證框架。
javax.security.auth.spi 此包提供用於實現可插入身份驗證模塊的介面。
javax.security.auth.x500 此包包含應該用來在 Subject 中存儲 X500 Principal 和 X500 Private Crendentials 的類。
javax.security.cert 為公鑰證書類。
javax.security.sasl 包含用於支持 SASL 的類和介面。
javax.sound.midi 提供用於 MIDI(音樂樂器數字介面)數據的 I/O、序列化和合成的介面和類。
javax.sound.midi.spi 在提供新的 MIDI 設備、MIDI 文件 reader 和 writer、或音庫 reader 時提供服務提供程序要實現的介面。
javax.sound.sampled 提供用於捕獲、處理和回放取樣的音頻數據的介面和類。
javax.sound.sampled.spi 在提供新音頻設備、聲音文件 reader 和 writer,或音頻格式轉換器時,提供將為其創建子類的服務提供程序的抽象類。
javax.sql 為通過 JavaTM 編程語言進行伺服器端數據源訪問和處理提供 API。
javax.sql.rowset JDBC RowSet 實現的標准介面和基類。
javax.sql.rowset.serial 提供實用工具類,允許 SQL 類型與 Java 編程語言數據類型之間的可序列化映射關系。
javax.sql.rowset.spi 第三方供應商在其同步提供程序的實現中必須使用的標准類和介面。
javax.swing 提供一組「輕量級」(全部是 Java 語言)組件,盡量讓這些組件在所有平台上的工作方式都相同。
javax.swing.border 提供圍繞 Swing 組件繪制特殊邊框的類和介面。
javax.swing.colorchooser 包含供 JColorChooser 組件使用的類和介面。
javax.swing.event 供 Swing 組件觸發的事件使用。
javax.swing.filechooser 包含 JFileChooser 組件使用的類和介面。
javax.swing.plaf 提供一個介面和許多抽象類,Swing 用它們來提供自己的可插入外觀功能。
javax.swing.plaf.basic 提供了根據基本外觀構建的用戶界面對象。
javax.swing.plaf.metal 提供根據 Java 外觀(曾經代稱為 Metal)構建的用戶界面對象,Java 外觀是默認外觀。
javax.swing.plaf.multi 提供了組合兩個或多個外觀的用戶界面對象。
javax.swing.plaf.synth Synth 是一個可更換皮膚 (skinnable) 的外觀,在其中可委託所有繪制。
javax.swing.table 提供用於處理 javax.swing.JTable 的類和介面。
javax.swing.text 提供類 HTMLEditorKit 和創建 HTML 文本編輯器的支持類。
javax.swing.text.html 提供類 HTMLEditorKit 和創建 HTML 文本編輯器的支持類。
javax.swing.text.html.parser 提供默認的 HTML 解析器以及支持類。
javax.swing.text.rtf 提供一個類 (RTFEditorKit),用於創建富文本格式(Rich-Text-Format)的文本編輯器。
javax.swing.tree 提供處理 javax.swing.JTree 的類和介面。
javax.swing.undo 允許開發人員為應用程序(例如文本編輯器)中的撤消/恢復提供支持。
javax.transaction 包含解組期間通過 ORB 機制拋出的三個異常。
javax.transaction.xa 提供定義事務管理器和資源管理器之間的協定的 API,它允許事務管理器添加或刪除 JTA 事務中的資源對象(由資源管理器驅動程序提供)。
javax.xml 根據 XML 規范定義核心 XML 常量和功能。
javax.xml.datatype XML/Java 類型映射關系。
javax.xml.namespace XML 名稱空間處理。
javax.xml.parsers 提供允許處理 XML 文檔的類。
javax.xml.transform 此包定義了用於處理轉換指令,以及執行從源到結果的轉換的一般 API。
javax.xml.transform.dom 此包實現特定於 DOM 的轉換 API。
javax.xml.transform.sax 此包實現特定於 SAX2 的轉換 API。
javax.xml.transform.stream 此包實現特定於流和 URI 的轉換 API。
javax.xml.validation 此包提供了用於 XML 文檔驗證的 API。
javax.xml.xpath

⑤ Java五個最常用的集合類之間的區別和聯系

常用的集合類有一下幾種:
List結構的集合類:ArrayList類,LinkedList類,Vector類,Stack類
Map結構的集合類:HashMap類,Hashtable類
Set結構的集合類:HashSet類,TreeSet類
Queue結構的集合:Queue介面

HashMap和Hashtable的區別:
HashMap和Hashtable都是java的集合類,都可以用來存放java對象,這是他們的相同點
以下是他們的區別:
1.歷史原因:
Hashtable是基於陳舊的Dictionary類的,HashMap是java 1.2引進的Map介面的一個現實。
2.同步性:
Hashtable是同步的,這個類中的一些方法保證了Hashtable中的對象是線程安全的,而HashMap則是非同步的,因此HashMap中的對象並不是線程安全的,因為同步的要求會影響執行的效率,所以如果你不需要線程安全的結合那麼使用HashMap是一個很好的選擇,這樣可以避免由於同步帶來的不必要的性能開銷,從而提高效率,我們一般所編寫的程序都是非同步的,但如果是伺服器端的代碼除外。
3.值:
HashMap可以讓你將空值作為一個表的條目的key或value
Hashtable是不能放入空值(null)的

ArrayList和Vector的區別:
ArrayList與Vector都是java的集合類,都是用來存放java對象,這是他們的相同點,
區別:
1.同步性:
Vector是同步的,這個類的一些方法保證了Vector中的對象的線程安全的,而ArrayList則是非同步的,因此ArrayList中的對象並不 是線程安全的,因為同步要求會影響執行的效率,所以你不需要線程安全的集合那麼使用ArrayList是一個很好的選擇,這樣可以避免由於同步帶來的不必 要的性能開銷。
2.數據增長:
從內部實現的機制來講,ArrayList和Vector都是使用數組(Array)來控制集合中的對象,當你向兩種類型中增加元素的時候,如果元素的數目超過了內部數組目前的長度他們都需要擴展內部數組的長度吵手薯,Vector預設情況下自動增長原來一倍的數組長度,ArrayList是原來的50%,所以最後你獲得的這個集合所佔的空間總是比你實際需要的要大,所以如果你要在集合中保存大量的數據,那麼使用Vector有一些優勢,因為你可以通過設置集合的初始大小來避免不必要的資源開銷。

總結:
1)如升者果要求線程安全,使用Vector,Hashtable
2)如果不要求線程安全,使用ArrayList,LinkedList,HashMap
3)如果要求鍵值對,則使用HashMap,Hashtable
4)如果數據量很大,又要求線程安全考慮Vector

1.ArrayList: 元素單個,效率高,多用於查詢
2.Vector: 元素單個,線程安全,多用於查詢
3.LinkedList:元素單個,多用於插入和刪除
4.HashMap: 元素薯亮成對,元素可為空
5.HashTable: 元素成對,線程安全,元素不可為空

ArrayList
底層是Object數組,所以ArrayList具有數組的查詢速度快的優點以及增刪速度慢的缺點。
而在LinkedList的底層是一種雙向循環鏈表。在此鏈表上每一個數據節點都由三部分組成:前指針(指向前面的節點的位置),數據,後指針(指向後面的節點的位置)。最後一個節點的後指針指向第一個節點的前指針,形成一個循環。
雙向循環鏈表的查詢效率低但是增刪效率高。
ArrayList和LinkedList在用法上沒有區別,但是在功能上還是有區別的。

LinkedList
經常用在增刪操作較多而查詢操作很少的情況下:隊列和堆棧。
隊列:先進先出的數據結構。
棧:後進先出的數據結構。
注意:使用棧的時候一定不能提供方法讓不是最後一個元素的元素獲得出棧的機會。

Vector
(與ArrayList相似,區別是Vector是重量級的組件,使用使消耗的資源比較多。)
結論:在考慮並發的情況下用Vector(保證線程的安全)。
在不考慮並發的情況下用ArrayList(不能保證線程的安全)。

面試經驗(知識點):
java.util.stack(stack即為堆棧)的父類為Vector。可是stack的父類是最不應該為Vector的。因為Vector的底層是數組,且Vector有get方法(意味著它可能訪問到並不屬於最後一個位置元素的其他元素,很不安全)。
對於堆棧和隊列只能用push類和get類。
Stack類以後不要輕易使用。
實現棧一定要用LinkedList。
(在JAVA1.5中,collection有queue來實現隊列。)

Set-HashSet實現類:
遍歷一個Set的方法只有一個:迭代器(interator)。
HashSet中元素是無序的(這個無序指的是數據的添加順序和後來的排列順序不同),而且元素不可重復。
在Object中除了有finalize(),toString(),equals(),還有hashCode()。
HashSet底層用的也是數組。
當向數組中利用add(Object o)添加對象的時候,系統先找對象的hashCode:
int hc=o.hashCode(); 返回的hashCode為整數值。
Int I=hc%n;(n為數組的長度),取得余數後,利用余數向數組中相應的位置添加數據,以n為6為例,如果I=0則放在數組a[0]位置,如果I=1,則 放在數組a[1]位置。如果equals()返回的值為true,則說明數據重復。如果equals()返回的值為false,則再找其他的位置進行比 較。這樣的機制就導致兩個相同的對象有可能重復地添加到數組中,因為他們的hashCode不同。
如果我們能夠使兩個相同的對象具有相同hashcode,才能在equals()返回為真。
在實例中,定義student對象時覆蓋它的hashcode。
因為String類是自動覆蓋的,所以當比較String類的對象的時候,就不會出現有兩個相同的string對象的情況。
現在,在大部分的JDK中,都已經要求覆蓋了hashCode。
結論:如將自定義類用hashSet來添加對象,一定要覆蓋hashcode()和equals(),覆蓋的原則是保證當兩個對象hashcode返回相同的整數,而且equals()返回值為True。
如果偷懶,沒有設定equals(),就會造成返回hashCode雖然結果相同,但在程序執行的過程中會多次地調用equals(),從而影響程序執行的效率。

⑥ java常用類有哪些呢請說20個

String 字元串類
System 可得到系統信息
StringBuilder 字元串工具類
Thread 線程類
Math 與數學有關的工具類

ArrayList 底層用數組實現的集合
LinkedList 底層用鏈表實現的集合
HashMap 介面Map的一個實現類
HashSet 介面Set的一個實現類
Scanner 簡單文本掃描器
Calendar 日期類
Date 日期類

File 目錄或文件操作類
FileInputStream 輸入流
FileOutputStream 輸出流
PrintWriter
BufferedInputStream 具有緩沖的輸入流
BufferedOutputStream 具有緩沖的輸出流
BufferedReader 從字元輸入流中讀取文本,緩沖各個字元,
BufferedWriter 將文本寫入字元輸出流,緩沖各個字元

⑦ java中總共有哪些類各種類的作用具體是什麼

初學java的時候主要用到5個類。。
java.lang-包含一些java語言的核心類,如String,Math,Integer,System,Treak.
java.net-包含執行也網路有關的操作的類。
java.io-包含能提供多種輸入/輸出功能的類。
java.util-包含一些實用工具類以及數據結構類。如使用與日期日歷有關的函數、集合等。
java.sql-包含用於訪問資料庫的類。

⑧ java中有哪些常用的類啊

java.lang.* java.util.* 這個一個是基本的,一個是工具集。。其中細致的有各種數據類型,都被封裝成類了。io流,字元流,位元組流。然後是分隔流,管道流,序列化。。。還有線程中的。thread runnable等介面。做gui的時候還有awt,swing。後面對字元的操作還有正則表達式。。java中的類很多都是關聯的。最重要的還是會自己查閱api這個才是能源源不斷出代碼的東西。

閱讀全文

與java常用類詳解相關的資料

熱點內容
怎麼他么怎麼又網路了 瀏覽:649
java會出現內存泄露么 瀏覽:617
蘋果4s鎖屏後怎麼還顯示歌曲 瀏覽:207
鴻蒙系統文件管理哪些可以刪除 瀏覽:550
ubuntuqt創建工程沒有配置文件 瀏覽:126
網站登錄變成其他網站怎麼處理 瀏覽:202
ug數控編程學校有哪些 瀏覽:203
java圖片上傳顯示 瀏覽:402
ppt的文件名後綴 瀏覽:902
ug編程軟體下載到哪個盤 瀏覽:359
炫酷字體APP下載的文件在哪裡 瀏覽:668
廊坊哪裡有少兒編程機構 瀏覽:312
cad新文件能找回來嗎 瀏覽:951
導出手機qq文件到u盤 瀏覽:456
電腦如何打開ppt文件怎麼打開方式 瀏覽:782
魅族鎖定區文件夾 瀏覽:357
刻字cnc怎麼編程 瀏覽:182
學校的網路拓撲結構圖 瀏覽:784
收集100個pdf文件里關鍵詞 瀏覽:594
蘋果關閉4g網路設置 瀏覽:289

友情鏈接