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

          java集合類的筆記

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

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

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

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

          4,用Collections.sort排序時可以把Comparator接口作為第二個參數
          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的使用及注意事項

          主站蜘蛛池模板: 庆阳市| 洮南市| 黔东| 瓦房店市| 崇文区| 灵璧县| 全南县| 东兰县| 犍为县| 咸宁市| 太康县| 莲花县| 苏州市| 阜康市| 凤山县| 勃利县| 兰州市| 临澧县| 邹城市| 东光县| 东莞市| 隆尧县| 钟山县| 普兰县| 达拉特旗| 长葛市| 扎鲁特旗| 大悟县| 双流县| 普兰县| 泽库县| 文化| 焦作市| 鹿邑县| 巴南区| 盐津县| 庆云县| 弋阳县| 清苑县| 孟连| 南漳县|