這個故事是,我現在正在爲Android編程。Java - 有沒有其他的第三方Collections(ArrayList等)庫?
我發現ArrayList真的很慢,特別是當用於listviews的適配器時,因爲我的項目需要排序和搜索。 那裏有其他的圖書館嗎?
非常感謝。
這個故事是,我現在正在爲Android編程。Java - 有沒有其他的第三方Collections(ArrayList等)庫?
我發現ArrayList真的很慢,特別是當用於listviews的適配器時,因爲我的項目需要排序和搜索。 那裏有其他的圖書館嗎?
非常感謝。
至於其他的答案說,也有一些另類收藏庫。
但是,在覈心問題可能不是圖書館,而是你自己的收藏選擇。使用不同的庫,不會改變這一點。
在Java和Android中,您有大量的收集選項供您選擇,所有這些選項都有不同的專業和不利因素。
這是一個長篇大論的寫作方式,所以除非你完全記下你想要做什麼,否則沒有人能真正告訴你哪一個選擇最好。 但是,爲了給你一個小小的開始,你可以看看這個;
哇!我喜歡這張圖!非常感謝!事實上,我正在爲Android開發一個XMPP聊天應用程序。主要的性能問題在好友列表屏幕上。 –
爲什麼會有這樣的性能問題?我想它只是你從ContentProvider中獲得的聯繫人對象列表,你在ListView中顯示..即使有人擁有數百個聯繫人也不應該是一個問題,因爲適配器負責僅加載可見一些+額外的平滑滾動.. –
這是因爲我使用的是第三方庫(asmack),聯繫人列表以集合的形式給出,代碼如[code] Collection
您可以使用現有的Java集合進行排序和搜索。我認爲沒有其他需要。
但還有其他選擇,比如Google Collections和Apache Commons的東西。
除了標準java API中的Collection框架,下面兩個以其豐富的集合框架而聞名。
ArrayList中的缺點是,你不能存儲原語吧。
與數組相比,導致更多的內存使用。
在你有非常大的陣列(例如>十萬或十萬elemts) 的情況下,越來越多的原始陣列通常是更好的解決方案。
本文介紹了實現自己ArrayListLong使用基本類型:
定義*「很慢」 *。也許你想看看JNI並使用本地庫。 – m0skit0
你有沒有嘗試過http://code.google.com/p/guava-libraries/它有很多與java類相比的優化? – sandrstar
類似的問題:http://stackoverflow.com/questions/8324805/java-android-what-is-faster-than-arraylist –