<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BloveSaga

    在希臘帕爾納斯山南坡上,有一個馳名世界的戴爾波伊神托所,在它的入口處的巨石上赫然銹刻著這樣幾個大字: 認識你自己!

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      34 隨筆 :: 12 文章 :: 122 評論 :: 0 Trackbacks

    ???? Collection?????????????????? Map(和Collection接口沒任何關(guān)系)
    ?????? / \???????????????????????? |
    ????? /?? \??????????????????????? |?????
    ??? Set?? List????????????????? SortedMap
    ??? /
    ?? /
    ?SortedSet
    (接口圖)



    所謂框架就是一個類庫的集合。集合框架就是一個用來表示和操作集合的統(tǒng)一框架,包含了實現(xiàn)
    集合的接口和類。
    ?
    ?集合框架中的接口

    ?.Collection: 集合層次中的根接口,JDK沒有提供這個接口直接的實現(xiàn)類。
    ?.Set: 不能包含重復(fù)的元素。SortedSet是一個按照升序排列元素的Set。
    ?.List: 是一個有序的集合,可以包含重復(fù)的元素。提供了按照索引訪問的方式。
    ?.Map: 包含了key-value對。Map不能包含重復(fù)的key。SortedMap是一個按照升序排列key的Map。
    ?
    ?集合框架中的實現(xiàn)類
    ?
    ?實線表示繼承類,虛線表示實現(xiàn)類。
    ?(圖如下)


    ?.ArrayList: 我們可以將其看做是能夠自動增長容量的數(shù)組。
    ?.利用ArrayList的toArray()返回一個數(shù)組。
    ?.Arrays.asList()返回一個列表。
    ?.迭代器(Iterator)給我們提供了一種通用的方式來訪問集合中的元素。

    ?注意: 從集合類中獲取一個數(shù)組 toArray(),從數(shù)組獲取列表利用Arrays.asList()
    ?例子:
    import java.util.*;
    class ArrayListTest
    {
    ?public static void printElement(Collection c)
    ?{
    ??Iterator it = c.iterator();
    ??while(it.hasNext())
    ??{
    ???System.out.println(it.next());
    ??}
    ?}
    ?public static void main(String[] args)
    ?{
    ??ArrayList a = new ArrayList();
    ??/*
    ??a.add("abc");
    ??a.add("def");
    ??a.add("hjk");
    ??*/
    ??
    ??a.add(new Point(1,1));
    ??a.add(new Point(2,2));
    ??a.add(new Point(3,3));
    ??/*
    ??Object[] o;
    ??o=a.toArray();? //將集合類轉(zhuǎn)換為數(shù)組
    ??for(int i=0;i<o.length;i++)
    ??{
    ???System.out.println(o[i]);
    ??}
    ??
    ??List b = new ArrayList();
    ??b=Arrays.asList(o);
    ??System.out.println(b);
    ??
    ??for(int i=0;i<a.size();i++)
    ??{
    ???System.out.println(a.get(i));
    ??}
    ??
    ??System.out.println(a);
    ??System.out.println(a);
    ??*/
    ??
    ??/*
    ??Iterator it = a.iterator();
    ?? 如果要刪除元素,必須先調(diào)用next方法
    ??it.next();
    ??it.remove();
    ??while(it.hasNext())
    ??{
    ???System.out.println(it.next());
    ??}
    ??*/
    ??//迭代器的作用: 提供一組通用的訪問方式
    ??printElement(a);
    ?}
    }

    class Point
    {
    ?int x, y;
    ?Point(int x, int y)
    ?{
    ??this.x=x;
    ??this.y=y;
    ?}
    ?public String toString()
    ?{
    ??return "x="+x+","+"y="+y;
    ?}
    }

    ?Collections類

    ?.排序: Collections.sort(); [區(qū)別與Arrays.sort()]
    ? (1) 自然排序(natural ordering);
    ? (2) 實現(xiàn)比較器(Comparator)接口。
    ?.取最大和最小的元素: Collections.max(),Collections.min();
    ?.在已排序的List中搜索指定的元素: Collections.binarySearch()。

    ?代碼示例:
    import java.util.*;
    class ArrayListTest
    {
    ?public static void printElement(Collection c)
    ?{
    ??Iterator it = c.iterator();
    ??while(it.hasNext())
    ??{
    ???System.out.println(it.next());
    ??}
    ?}
    ?public static void main(String[] args)
    ?{
    ??/*
    ??ArrayList a = new ArrayList();
    ??
    ??a.add("abc");
    ??a.add("def");
    ??a.add("hjk");
    ??
    ??
    ??a.add(new Point(1,1));
    ??a.add(new Point(2,2));
    ??a.add(new Point(3,3));
    ??
    ??Object[] o;
    ??o=a.toArray();? //將集合類轉(zhuǎn)換為數(shù)組
    ??for(int i=0;i<o.length;i++)
    ??{
    ???System.out.println(o[i]);
    ??}
    ??
    ??List b = new ArrayList();
    ??b=Arrays.asList(o);
    ??System.out.println(b);
    ??
    ??for(int i=0;i<a.size();i++)
    ??{
    ???System.out.println(a.get(i));
    ??}
    ??
    ??System.out.println(a);
    ??System.out.println(a);
    ??*/
    ??
    ??/*
    ??Iterator it = a.iterator();
    ?? 如果要刪除元素,必須先調(diào)用next方法
    ??it.next();
    ??it.remove();
    ??while(it.hasNext())
    ??{
    ???System.out.println(it.next());
    ??}
    ??*/
    ??//迭代器的作用: 提供一組通用的訪問方式
    ??//printElement(a);
    ??
    ??Student s1 = new Student(1,"zhangsan");
    ??Student s2 = new Student(2,"lisi");
    ??Student s3 = new Student(3,"wangwu");
    ??Student s4 = new Student(3,"blovesaga");
    ??
    ??ArrayList a = new ArrayList();
    ??a.add(s1);
    ??a.add(s2);
    ??a.add(s3);
    ??a.add(s4);
    ??
    ??//Collections.sort(a);
    ??Collections.sort(a,new Student.StudentComparator());
    ??printElement(a);
    ?}
    }

    class Point
    {
    ?int x, y;
    ?Point(int x, int y)
    ?{
    ??this.x=x;
    ??this.y=y;
    ?}
    ?public String toString()
    ?{
    ??return "x="+x+","+"y="+y;
    ?}
    }

    class Student implements Comparable
    {
    ?int num;
    ?String name;
    ?//實現(xiàn)比較器,它總是和我們的一個類相關(guān),用內(nèi)部類
    ?static class StudentComparator implements Comparator? //為了調(diào)用方便聲明為靜態(tài)的
    ?{
    ??public int compare(Object o1,Object o2)
    ??{
    ???Student s1 = (Student)o1;
    ???Student s2 = (Student)o2;
    ???int result=s1.num > s2.num ? 1: (s1.num==s2.num ? 0 : -1);
    ???if(result==0)
    ???{
    ????return s1.name.compareTo(s2.name);
    ???}
    ???return result;
    ??}
    ?}
    ?Student(int num,String name)
    ?{
    ??this.num=num;
    ??this.name=name;
    ?}
    ?public int compareTo(Object o)
    ?{
    ??Student s=(Student)o;
    ??return num > s.num ? 1 :( (num==s.num) ? 0 : -1);
    ?}
    ?
    ?public String toString()
    ?{
    ??return +num+":"+name;
    ?}
    }

    ?

    ?

    posted on 2006-06-09 11:28 藍色Saga 閱讀(202) 評論(0)  編輯  收藏 所屬分類: Basic Study for JAVA
    主站蜘蛛池模板: 国产精品亚洲mnbav网站 | 亚洲精品无码鲁网中文电影| 国产亚洲精品影视在线| 美女视频黄的全免费视频| 亚洲噜噜噜噜噜影院在线播放| 9420免费高清在线视频| 亚洲欧洲免费视频| 91精品国产免费久久国语麻豆| 亚洲综合激情视频| 午夜性色一区二区三区免费不卡视频 | 毛片A级毛片免费播放| 亚洲 日韩经典 中文字幕 | 豆国产96在线|亚洲| 亚洲国产黄在线观看| 搡女人免费免费视频观看| 亚洲国产精品乱码一区二区| 久久免费福利视频| 亚洲无吗在线视频| 四虎影视永久免费视频观看| 羞羞视频在线观看免费| 亚洲AV无码一区二区三区系列| 免费国产黄网站在线观看可以下载| 亚洲精品在线播放视频| 日韩在线免费播放| 久久久精品视频免费观看| 亚洲视频一区网站| 国产精品免费视频网站| 一级成人生活片免费看| 亚洲高清在线视频| 精品国产免费观看久久久| 中文字幕免费观看视频| 亚洲精品成人久久| 亚洲午夜av影院| 无码国产精品一区二区免费| 美女扒开屁股让男人桶爽免费| 亚洲AV无码久久精品成人| 最近中文字幕mv免费高清电影 | 18禁成人网站免费观看| 国产天堂亚洲国产碰碰| 亚洲国产高清人在线| 国产精品酒店视频免费看|