BloveSaga

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

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

          Java數組的相關操作

          1> 在Java中所有的數組都有一個缺省的屬性length,用于獲取數組元素的個數。
          2> 數組的復制: System.arraycopy()。
          3> 數組的排序: Arrays.sort()。
          4> 在已排序的數組中查找某個元素:Arrays.binarySearch()。
          具體的看看下面的2個例子:
          code1:
          class ArrayTest
          {
          ?public static void main(String[] args)
          ?{
          ??/*數組的copy
          ??int[] num1=new int[]{1,2,3};
          ??int[] num2=new int[3];
          ??System.arraycopy(num1,0,num2,0,num1.length);
          ??for(int i=0;i<num2.length;i++)
          ??{
          ???System.out.println(num2[i]);
          ??}
          ??*/
          ??//引用類型的數組copy
          ??Point[] pts1=new Point[]{new Point(1,1),new Point(2,2),new Point(3,3)};
          ??Point[] pts2=new Point[3];
          ??System.arraycopy(pts1,0,pts2,0,pts1.length);
          ??for(int i=0;i<pts2.length;i++)
          ??{
          ???System.out.println("x="+pts2[i].x+","+"y="+pts2[i].y);
          ??}
          ??/*
          ??*因為引用類型傳遞的是引用的拷貝,所以我們修改pts2數組的第二個點的坐標,
          ??*當我們打印pts1數組的第一個點的坐標時,它的坐標點已經被修改為(5,5)了
          ??pts2[1].x=5;
          ??pts2[1].y=5;
          ??System.out.println("x="+pts1[1].x+","+"y="+pts1[1].y);
          ??*/
          ?}
          }

          class Point
          {
          ?int x, y;
          ?Point(int x,int y)
          ?{
          ??this.x=x;
          ??this.y=y;
          ?}
          }


          code2:
          import java.util.*;
          class TestArray
          {
          ?public static void main(String[] args)
          ?{
          ??/*
          ??int[] num=new int[]{3,2,1};
          ??Arrays.sort(num);
          ??for(int i=0;i<num.length;i++)
          ??{
          ???System.out.println(num[i]);
          ??}
          ??int index=Arrays.binarySearch(num,3);
          ??System.out.println("index="+index);
          ??System.out.println("Element="+num[index]);
          ??*/
          ??Student[] ss=new Student[]{new Student("zhangshan",1),
          ??????????????????????????? new Student("lisi",2),
          ??????????????????????????? new Student("wangwu",3),
          ??????????????????????????? new Student("mybole",3)};
          ?? Arrays.sort(ss);
          ?? for(int i=0;i<ss.length;i++)
          ?? {
          ?? ?System.out.println(ss[i]);
          ?? }
          ?? int index=Arrays.binarySearch(ss,new Student("lisi",2));
          ?? System.out.println("name="+ss[index].name+","+"index="+index);
          ?}
          }

          class Student implements Comparable
          {
          ?String name;
          ?int num;
          ?Student(String name,int num)
          ?{
          ??this.name=name;
          ??this.num=num;
          ?}
          ?public String toString()
          ?{
          ??return "name="+name+","+"number="+num;
          ?}
          ?public int compareTo(Object o)? //對于Object[]排序要求實現Comparable接口
          ?{
          ??Student s=(Student)o;
          ??//return num>s.num ? 1 :(num==s.num ? 0 : -1);
          ??int result=num>s.num ? 1 :(num==s.num ? 0 : -1);//按名字排序
          ??if(0==result)
          ??{
          ???result=name.compareTo(s.name);
          ??}
          ??return result;
          ?}
          }

          posted on 2006-06-04 17:30 藍色Saga 閱讀(138) 評論(0)  編輯  收藏 所屬分類: Basic Study for JAVA
          主站蜘蛛池模板: 龙口市| 荆州市| 抚顺县| 孟连| 怀安县| 兴安县| 霍林郭勒市| 辽阳市| 丰顺县| 昌宁县| 长海县| 井冈山市| 合江县| 晋宁县| 巫山县| 大悟县| 民丰县| 玉龙| 城口县| 赣州市| 浦城县| 和林格尔县| 望都县| 靖宇县| 伊吾县| 远安县| 涿鹿县| 双峰县| 唐海县| 资兴市| 香港 | 沂源县| 化隆| 天门市| 庄河市| 宣恩县| 安多县| 元朗区| 瓦房店市| 涟源市| 巴中市|