MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          java集合類的筆記

          Posted on 2008-10-28 22:11 leekiang 閱讀(229) 評論(0)  編輯  收藏 所屬分類: java
          1,Set里不允許重復,常用的:
          ? HashSet就不說了。
          ? TreeSet里的元素是排過序的。自定義的類的對象默認只能存放一個,如果想放多個并且有排序,則要實現(xiàn)Comparable接口并加上那3個方法。詳見:TreeSet自定義排序

          2, arraylist 底層是由數(shù)組組成的,在java中為了通用迭代器,所以性能上有一定的損失,用迭代器還不如for循環(huán)快.
          ?? 迭代器用在 底層由雙向指針鏈表構(gòu)成的linkedlist 上,效率大大高于for循環(huán)。
          如 果使用for循環(huán)遍歷 底層由雙向指針鏈表構(gòu)成的linkedlist的話,他會每次都從頭遍歷一次,知道獲取你給定的下標,然后開始下一次遍歷,。越往后速度越慢。下標越大, 速度越慢。但是對于迭代器,他不是根據(jù)下標完成的遍歷,每取得一個對象后,他會根據(jù)這個對象的尾部指針取得下一個對象的內(nèi)存位置,直接從內(nèi)存位置取出內(nèi) 容,這一點是for循環(huán)所不及的。

          http://blog.csdn.net/java2000_net/archive/2009/01/16/3796064.aspx

          3,
          List要使用removeAll(Collection coll)
          對象需實現(xiàn)equals()和hashCode()方法

          4,用Collections.sort排序時可以把Comparator接口作為第二個參數(shù)
          Collections.sort(stuGrade_List, new Comparator() {
          public int compare(Object o1, Object o2) {
          double c1 = ((StuGrade) o1).getChinese(); //獲得語文的成績,是doubel型
          double c2 = ((StuGrade) o2).getChinese();
          ? if(c1>c2){
          return 1;
          }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
          else if(c1=c2){
          return 0;
          }
          else return -1;
          }
          });



          參考:
          TreeMap的使用及注意事項

          主站蜘蛛池模板: 定南县| 梅河口市| 石河子市| 合水县| 翁牛特旗| 柏乡县| 吉林省| 沅江市| 祁连县| 诏安县| 治多县| 沽源县| 方山县| 宁城县| 青龙| 建水县| 谷城县| 绩溪县| 大连市| 武城县| 苍梧县| 汨罗市| 绥棱县| 新竹县| 扶风县| 北海市| 乌海市| 洛宁县| 秀山| 新郑市| 平利县| 洮南市| 祁门县| 青铜峡市| 无为县| 崇左市| 尉犁县| 隆德县| 太白县| 水城县| 合水县|