您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java列表怎么實現”,在日常操作中,相信很多人在Java列表怎么實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java列表怎么實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Elliotte Rusty Harold 來自新奧爾良,Polytechnic 大學計算機科學的副教授,講授 Java 和面向對象編程。他的 Web 站點Cafe au Lait 已經成為 Internet 上最流行的獨立Java 站點之一,它的姊妹站點 Cafe con Leche 已經成為最流行的 XML 站點之一。
2007 年將是載入史冊的一年,Sun Microsystems 公司將于這一年在開源許可協議下發布 Java 開發包(JDK),從而放棄了對 Java? 平臺的統馭,將權力交給了 Java 開發人員社區!在本文中,Java 開發人員 Elliotte Rusty Harold 從各個方面預測了 Java 平臺的新方向,從腳本到 bug 修復到新語法。
2006 年又是 Java 平臺繁榮的一年。盡管遭遇了來自 Microsoft(C#)和腳本語言社區(Ruby)的沖擊,但 Java 語言仍然保持著其世界頭號編程語言的地位。同時,盡管 Java 6 的發布很值得慶祝,但比起宣布 Java 將在 GNU General Public License 下完全開源這一事件來說,卻不免有些黯然失色。Java 在 2007 年還能保持這種勢頭嗎?讓我們來看一下成敗的可能。
Java 平臺將成為開源平臺
2007 年上半年,Sun 將在一個開源許可協議下發布 Java 開發包(JDK)。解除 JDK 的禁錮對于 Java 開發人員社區來說是巨大的一步,它將在今后的十年中推動 Java 平臺的發展。
JDK 的質量將會顯著改善,因為程序員們不再僅僅報告 bug 并開始修復。Java Developer Connection 的 bug 報告將會包括對 JDK 中的問題部分的詳細分析,并提供修復的補丁。正如Linus 法則 所陳述的那樣,“只要給予足夠的關注,任何 bug 都是顯而易見”,即調試是可并行進行的。優化也是一樣。開源使兩者得以并行。
分支項目
遺憾的是,設計并不是和調試、優化一樣可以并行完成的。清潔的 API 有時也需要有一只獨裁的手。但獨裁者的缺點是:有時他們知道在做什么,有時卻不知道。意圖成為獨裁者的各方面之間的競爭往往是發現問題最佳解決方案的惟一方式。
很少有公司能夠負擔得起這樣的代價,為一個產品開發多個獨立的實現,以便在多個產品中選定保留一個而摒棄其余的產品,但開源社區卻在朝這個方向努力。所以,您會在 Java 平臺的各個層次中發現分支產品:語言、虛擬機和庫。大多數的分支產品會失敗,但這沒什么。好主意會脫穎而出。一些分支產品會一直存在下去,一些會重新并入標準 JDK 中。明年的這個時候,分支產品與主流產品之間的差異也許不會很明顯,但這個過程會繼續下去。
Sun 會在幾個月后發布 Java 7,Dolphin 的一個早期的 beta 版,以此作為開端。Sun 無法發布更早的 JDK 版本,因為存在一些只有在 Dolphin 中才能解決的構建問題和許可協議問題。盡管如此,仍有望看到第三方著手進一步細分 Sun 的版本,來提供 Java 6、Java 5、Java 1.4,甚至更早版本的流行開源實現。
早期的一些探尋分支產品的人們可能會侵犯 Sun 公司的商標,收到 Sun 的律師寄來的討厭的律師信。我們需要一個通用的未注冊為商標的名字,讓所有人都能使用。我建議用 “J” —— 我希望沒人用單字母作商標。
開源項目從未消亡,只是有些褪色。就像之前的 Blackdown Project、GNU Classpath、Kaffe 和其他開源 JDK 項目一樣,他們的開發人員都轉向其他事情了。如果一個項目至今還沒有達到 1.0,那么恐怕以后永遠也達不到了。
期待 Java 7
Dolphin 不會在 2007 年發布。2008 年是更為現實的目標。那就是說,工作尚在進行中,它的一些功能也許會作為早期的標準擴展或至少作為 beta 登場。
遺憾的是,為一門語言添加功能遠比刪除功能要簡單得多。幾乎不可避免地,隨著時間的推移,語言不是朝著簡單的方向發展,而是越來越復雜,越來越讓人困惑。即使是那些單獨看起來很好的功能,在彼此疊加后也會出現問題。
令人遺憾,Java 社區沒有接受這個教訓,盡管這種失敗并無特殊性。但總有一些太酷又太讓人激動的新語法令語言設計者難以抗拒 —— 即便這樣的新語法不能解決任何實際問題。于是對 Java 7 的新語言功能就有了巨大的要求,包括閉包、多繼承和操作符重載。
我猜想在這一年結束前,會在 Java 7 beta 中看到閉包,也許還能看到操作符重載(有五成的把握),但不會出現多繼承。Java 中有太多東西是基于單個根的繼承層次。沒有可行的方式改進多繼承,使之適應這門語言。
目前有許多語法糖方面的提議,有一些有意義,有一些沒有。許多提議都專注于將像 getFoo() 這樣的方法替換為像 -> 這樣的操作符。
列表
最有可能的是使用數組語法來實現集合訪問。例如,不再采用下面這樣的代碼:
|
而是編寫如下代碼:
|
另一種可能性是:允許為列表使用數組初始化程序語法。例如:
LinkedList content = {"Fred", "Barney", "Wilma", "Betty"} |
這兩項提議都可以在不改變虛擬機(VM)的前提下由編譯器稍顯神通即可實現,這是任何修訂過的語法的一項重要特征。這兩項提議都不能使任何現有的源代碼失效或重定義現有的源代碼,對于新語法來說,這是一個更為重要的問題。
真正能夠影響開發人員生產力的特性功能應該是用于管理表、樹和映射表的內置原語,比如在使用 XML 和 SQL 時遇到的那些。JavaScript 下的 E4X 項目和 Microsoft 的 Cω 和 Linq 項目是實現這一想法的先驅,但可悲的是,Java 平臺似乎錯過了這個機會。如果有人想要通過編譯器來玩一個潛在的救場的游戲,這里是一個不容錯過的好地方。
到此,關于“Java列表怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。