Java Collections API的應用 Java Collections API的應用

Java Collections API的應用

  • 期刊名字:電腦開(kāi)發(fā)與應用
  • 文件大?。?92kb
  • 論文作者:辛亞宇
  • 作者單位:山西省國土資源廳信息中心
  • 更新時(shí)間:2020-06-12
  • 下載次數:次
論文簡(jiǎn)介

70·(總322)Java Collections API的應用2011年文章編號:1003-5850(2011)04-0070-02Java Collections API的應用The application of Java Collections API辛亞宇(山西省國土資源廳信息中心太原030024)要】在Java應用程序的開(kāi)發(fā)過(guò)程中, Java Collections API作為JCF的重要組成部分有著(zhù)廣泛的應用,但相當一部分開(kāi)發(fā)人員在開(kāi)發(fā)的過(guò)程中,并沒(méi)有合理地利用和發(fā)據它的功能。就這一問(wèn)題,從4個(gè)方面給出了JavaCollections API的應用方法和注意事項?!娟P(guān)鍵詞】 Collection,API,JCF中圖分類(lèi)號:TP311文獻標識碼:AABSTRaCt Java Collections API (as an important part of the JCF)has a wide range of applications in the Java applicationdevelopment process, however, some developers have not reasonable use and explore its functions in the development process.his paper will discuss this problem, and gives application methods and precautions from four aspects.KEYWORDS Collection, API, JCFJCF( Java Collections Framework,Java集合框提高Java性能,以至于某些開(kāi)發(fā)人員認為 Arraylist架)口是為表示和操作集合而規定的一種統一的標準就是Java數組的替代品。 Collections由數組支持,并的體系結構任何集合框架都包含三大塊內容:對外的與數組一樣,集合使用整序數獲取特定項但集合不是接口、接口的實(shí)現和對集合運算的算法數組的簡(jiǎn)單替代。接口:即表示集合的抽象數據類(lèi)型,其提供了對集現在, Java Collections的使用非常頻繁,因為其合中所表示的內容進(jìn)行單獨操作的可能。有著(zhù)比數組更多的性能優(yōu)勢,如,若要將數組的內容轉實(shí)現:也就是集合框架中接口的具體實(shí)現,實(shí)際就儲到一個(gè)字符串,需要迭代整個(gè)數組,然后將內容連接是那些可復用的數據結構。成一個(gè) String;而 Collections的實(shí)現都有一個(gè)可用的算法:在一個(gè)實(shí)現了某個(gè)集合框架中的接口的對 to String()實(shí)現象身上完成某種有用的計算的方法,例如查找、排序為了解決以上問(wèn)題,最有效的方法是將遇到的任等這些算法通常是多態(tài)的因為相同的方法可以在同何數組轉換成集合而完成這個(gè)工作的最便捷的方法個(gè)接口被多個(gè)類(lèi)實(shí)現時(shí)有不同的表現即算法具體就是使用 Java Collections AP,如下所示:表現為可復用的函數。合理地利用JCF不但可以提高程序的運行速度public class Array ToList和質(zhì)量,而且還可以減少設計新的API( ApplicationProgramming Interface,應用程序接口),設計者和實(shí)public static void main(String[] args)現者不需要在每次創(chuàng )建一種依賴(lài)于集合內容的APISystem. out. println (args)時(shí)重新設計,只需使用標準集合框架的接口即可List argList Arrays asList(args):java.util. Collections類(lèi)中包含很多有用的方法,可以System. out. println(argList)使程序員的工作變得更加容易,但是這些方法通常都沒(méi)有被充分地利用。下面結合筆者的經(jīng)驗,從JavaCollections API出發(fā),淺談幾點(diǎn)應用技巧或注意事項返回的Iist是不可修改的,而且,由于1 collections并非數組Arrays. aslist(使用 varargs參數表示添加到List的元素,所以還可以使用它輕松地用以new新建的對象java.utl中的 Collections類(lèi)旨在通過(guò)取代數組創(chuàng )建中國煤化工CNMHG2011-01-24收到,2011-02-12改回辛亞宇,男,1979年生,助理工程師,研究方向:軟件工程與網(wǎng)絡(luò )。第24卷第4期電腦開(kāi)發(fā)與應用(總323)·71·2迭代的效率較低new Person("Ted", Neward. 39).new Person(Ron","Reynolds*, 39)將一個(gè)集合,尤其是由數組轉化而成的集合的內new Person("Charlotte","Neward, 38),容轉移到另一個(gè)集合;從一個(gè)較大對象集合中移除new Person("Matthew", "McCullough",18)個(gè)較小對象集合。這些都是在實(shí)際開(kāi)發(fā)過(guò)程中經(jīng)常遇SortedSet personset new TreeSet(new到的工作,而要完成這樣的工作,可能對集合進(jìn)行迭代,然后添加元素或移除找到的元素,但這樣做的缺點(diǎn)public int compare(Person Ihs, Person rhs)ireturn Ihs getLastName( ) compare To①每次添加或移除元素后重新調整集合將非常低ths. get LastName())效②每次在獲取鎖、執行操作和釋放鎖的過(guò)程中,都存在潛在的并發(fā)困境。personset addAll(perons )③當添加或移除元素時(shí),存取集合的其他線(xiàn)程會(huì )System. out. println(ss)引起競爭條件??尚械姆椒ㄊ峭ㄟ^(guò)使用 addAll或 removeAll傳入集合(包含添加或移除的元素)作為參數,來(lái)克服以使用上述代碼一段時(shí)間后,可能會(huì )發(fā)現Set是個(gè)不包含重復元素的集合,即set不包含成對的e1和上缺點(diǎn)e2元素,因此如果使用 el equals(e2),那么最多包含3 Iterator的作用一個(gè)null元素。大多數的開(kāi)發(fā)人員習慣在for()循環(huán)中使用但在上述的代碼中不存在相等的 Person對象,如Iterator,但在總結以前的開(kāi)發(fā)項目并進(jìn)行研究后發(fā)瑰果使用 Person的 equals(),在輸出時(shí)只有3個(gè)對象出Iterator還有以下強大功能現在 TreeSet中,而實(shí)際上有4個(gè),這是因為 TreeSetDI通過(guò)調用moye)從源集合中安全地要求對象直接實(shí)現 Comparable或者在構造時(shí)傳人刪除對象,這樣可以避免 ConcurrentModified ExceP- compare或 compare To方法進(jìn)行對象比較,而非tion異常,這在當集合不允許在迭代時(shí)刪除或添加元素時(shí)不失為一種安全之舉;equals()。② Iterator支持派生的兄弟成員, ListIterator只所以存儲在Set中的對象有兩種方式確定相等存在于List中,支持在迭代期間向Lst中添加或刪除性:大家常用的 Comparable/ Comparator equals(),采元素,并且可以在List中雙向滾動(dòng)。這在“滑動(dòng)結果用哪種方法取決于上下文。集”操作中,插人 Listiterator可以用于反向遍歷集合還需注意的是:簡(jiǎn)單的聲明兩者相等還不夠,因為或列表而無(wú)需每次都從前向后遍歷,要比使用向下計以排序為目的的比較不同于以相等性為目的的比較,數整數參數List.getO反向遍歷容易得多。如在上例中按姓排序時(shí)兩個(gè) Person相等,但是其所有的內容卻并不相同。所以在應用中,一定要明白4 Equals與 Comparableequals()和 Comparable. compareTo()兩者之間的區般的Java開(kāi)發(fā)人員經(jīng)常會(huì )使用 Sortedse類(lèi)別型,它是 java util包中唯一提供某種排序行為的參考文獻Collection,其在JDK中唯一的實(shí)現是 TreeSet2.現在如下代碼對其進(jìn)行深入研究:[1] Sun Microsystems. The Collections Framework [J/Ol].http://download.oraclecom/javase/1.4.2/mport ava,util.“;docs/guide/collections/index. html, 2010-10-12.ublic class Using SortedSet中國煤化工 tions with GenerIcspublic static void main(String[] args)CNMHGllections html, 200804-03List persons Arrays asList(

論文截圖
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院