zoukankan      html  css  js  c++  java
  • 使用Arrays

     1 package com.jdk7.chapter4;
     2 
     3 import java.util.Arrays;
     4 
     5 public class UsingArrays {
     6     public static void printIntArray(int[] arrays){
     7         if(arrays!=null){
     8             for(int i=0;i<arrays.length;i++){
     9                 System.out.print(arrays[i]+" ");
    10             }
    11             System.out.println();
    12         }
    13     }
    14     public static void main(String[] args) {
    15         int[] array0 = new int[5];
    16         System.out.print("数组array0全部赋值为5: ");
    17         Arrays.fill(array0, 5);        //调用fill方法给数组全部赋值为5
    18         printIntArray(array0);
    19         System.out.print("数组array0下标[2,3]赋值为8: ");
    20         Arrays.fill(array0, 2, 4, 8);    //调用fill方法给数组下标2到3位赋值为8
    21         printIntArray(array0);
    22         
    23         int[] array1 = new int[] {3,9,4,6,5,2};
    24         System.out.print("数组array1: ");
    25         printIntArray(array1);
    26         System.out.println("未排序进行二叉查找数组array1中2的位置: "+Arrays.binarySearch(array1, 2));
    27         System.out.print("数组array1下标[2,4]进行排序: ");
    28         Arrays.sort(array1, 2, 5);        //调用sort方法给数组下标2到4位排序
    29         printIntArray(array1);
    30         System.out.print("数组array1进行排序: ");
    31         Arrays.sort(array1);        //调用sort方法给数组排序
    32         printIntArray(array1);
    33         
    34         System.out.print("数组array0和数组array1的值是否相等: ");
    35         System.out.println("array0 = array1: "+Arrays.equals(array0, array1));        //调用equals比较两个数组中的数值
    36         
    37         int[] array2 = (int[])array0.clone();
    38         System.out.print("克隆数组array0为array2,数组array0和数组array2的值是否相等: ");
    39         System.out.println("array0 = array2: "+Arrays.equals(array0, array2));
    40         //克隆后原件和复件任意一个改变,另一个同步改变
    41 //        Arrays.fill(array2, 2, 4, 8);
    42         Arrays.fill(array0, 2, 4, 8);
    43         printIntArray(array0);
    44         printIntArray(array2);
    45         System.out.print("数组array2下标2赋值为8,数组array0和数组array2的值是否相等: ");
    46         System.out.println("array0 = array2: "+Arrays.equals(array0, array2));
    47         
    48         printIntArray(array1);
    49         //在数组最新状态中二叉查找指定值的下标
    50         System.out.println("排序后二叉查找数组array1中4的位置: "+Arrays.binarySearch(array1, 4));        
    51         System.out.println("排序后二叉查找数组array1中2的位置: "+Arrays.binarySearch(array1, 2));
    52     }
    53 }
    54 
    55 执行结果:
    56 数组array0全部赋值为5: 5 5 5 5 5 
    57 数组array0下标[2,3]赋值为8: 5 5 8 8 5 
    58 数组array1: 3 9 4 6 5 2 
    59 未排序进行二叉查找数组array1中2的位置: -1
    60 数组array1下标[2,4]进行排序: 3 9 4 5 6 2 
    61 数组array1进行排序: 2 3 4 5 6 9 
    62 数组array0和数组array1的值是否相等: array0 = array1: false
    63 克隆数组array0为array2,数组array0和数组array2的值是否相等: array0 = array2: true
    64 5 5 8 8 5 
    65 5 5 8 8 5 
    66 数组array2下标2赋值为8,数组array0和数组array2的值是否相等: array0 = array2: true
    67 2 3 4 5 6 9 
    68 排序后二叉查找数组array1中4的位置: 2
    69 排序后二叉查找数组array1中2的位置: 0

    总结:

    ♦排序后才能在数组中进行二分法查找元素的位置;

    ♦fill和sort方法的起止位置都是针对数组下标;

    ♦克隆的数组,原件和复件一方进行变动,另一方同步变动。

  • 相关阅读:
    对应于 算法原型 中的“纸条”
    Hive 实际上对于所存储的文件的完整性以及数据内容是否和表结构一致无支配力
    kettle
    regularexpression_action
    Consumer Group Example
    Neural Task Programming: Learning to Generalize Across Hierarchical Tasks
    dm层 集市层 四层 Build a multi-level data strategy
    图片服务器 sns 加爬虫 免上云
    不等式放缩 维时间戳是数据仓库无时间维度的事实表的灾难 度表 事实表
    MaLoc: a practical magnetic fingerprinting approach to indoor localization using smartphones
  • 原文地址:https://www.cnblogs.com/celine/p/8306767.html
Copyright © 2011-2022 走看看