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
          主站蜘蛛池模板: 常熟市| 丰县| 县级市| 乡宁县| 蕲春县| 孙吴县| 阜康市| 贵溪市| 温州市| 富源县| 鄂温| 客服| 泽州县| 乐清市| 依安县| 乌拉特后旗| 南澳县| 方城县| 崇义县| 临泉县| 四子王旗| 时尚| 华阴市| 绥宁县| 峨边| 遂宁市| 盖州市| 金川县| 龙口市| 麻江县| 漳平市| 霍城县| 界首市| 永丰县| 毕节市| 汉源县| 娱乐| 滕州市| 郓城县| 仁化县| 谷城县|