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

          java集合類的筆記

          Posted on 2008-10-28 22:11 leekiang 閱讀(229) 評論(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的使用及注意事項

          主站蜘蛛池模板: 玉溪市| 衡南县| 集贤县| 白山市| 玉林市| 简阳市| 定南县| 民丰县| 博罗县| 通城县| 沂南县| 金华市| 海原县| 涞源县| 台东县| 托克托县| 新安县| 土默特左旗| 新野县| 宁河县| 信宜市| 崇仁县| 沂南县| 雷山县| 嘉禾县| 花莲市| 奉化市| 会宁县| 宁阳县| 房产| 阜阳市| 武定县| 宁海县| 民权县| 珠海市| 达日县| 吉木乃县| 宕昌县| 体育| 和田县| 万盛区|