码迷,mamicode.com
首页 > 编程语言 > 详细

整理Java基础知识--数组2

时间:2018-01-13 23:41:54      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:key   基础知识   返回值   对象   多维数组   fill   查找   二维   bool   

数组作为函数的参数
数组作为函数的返回值

class A{
    public static int[] backarr(int[] arr){
        int[] resultarr = new int[arr.length];
        for (int i = 0,j=resultarr.length-1; i < arr.length; i++,j--) {
            resultarr[j] = arr[i];
        }
        return resultarr;
    }
}
public class TestArr2{  
    public static void main(String[] args){
        int[] arr = {1,2,3,4,5,6,7,8,9};
        for(int i:arr){
            System.out.print(i + " ");
        }
        System.out.println(" ");
        arr = A.backarr(arr);
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}
输出结果:
1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1
arr数组既作为参数 又作为返回值!!!

多维数组

String str[][] =new String[3][4];理解:3行4列的矩阵
1.多维数组的初始化 格式:
type arrayName = new type[arraylength1][arraylength2];
int arr[][] =new int[3][4];
2.从最高维开始分别为每一维分配内存

Sting str[][] = new String[2[];声明二维数组str:两行 列数待定 
arr[0] = new String[2];确定第一行含有2个元素
arr[1] = new String[3];确定第二行含有3个元素
数组结构 = {{"E1", "E2"}, {"E1", "E2", "E3"}}

Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的
1.给数组赋值 通过file方法
2.对数组排序 通过sort 方法 按升序
3.比较数组 通过equals 方法比较数组中元素值是否相等
4.查找数组元素 通过binarySearch 方法能对排序好的数组进行二分查找法操作

方法 说明
public static void fill(int[] a, int val) 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。
public static void sort(Object[] a) 对指定对象数组根据其元素的自然顺序进行升序排列
public static boolean equals(long[] a, long[] a2) 如果两个指定的 long 型数组彼此相等,则返回 true。
public static int binarySearch(Object[] a, Object key) 用二分查找算法在给定数组中搜索给定值的对象
import java.util.Arrays;

public class TestArr2 {
    public static void output(int[] array) {
        if (array != null) {
            for (int i = 0; i < array.length; i++) {
                System.out.print(array[i] + " ");
            }
        }
        System.out.println();
    }

    public static void main(String[] args) {
        int[] arr = new int[5];

        Arrays.fill(arr, 5);//填充数组    
        TestArr2.output(arr);

        Arrays.fill(arr, 2, 4, 8);// 将数组的第2和第3个元素赋值为8
        TestArr2.output(arr);

        int[] arr1 = { 7, 8, 3, 2, 9, 6, 1, 5, 4 };       
        Arrays.sort(arr1, 2, 7);// 对数组的第2个到第6个进行排序进行排序
        TestArr2.output(arr1);

        Arrays.sort(arr1);// 对整个数组进行排序
        TestArr2.output(arr1);

        System.out.println(Arrays.equals(arr, arr1));// 比较数组元素是否相等

        int[] arr2 = arr1.clone();//克隆
        System.out.println(Arrays.equals(arr1, arr2));

        Arrays.sort(arr1);// 必须先排序好,否则会报错
        System.out.println(Arrays.binarySearch(arr1, 3));//二分搜索算法查找指定元素3所在的下标

        System.out.println(Arrays.binarySearch(arr1, 10));// 如果不存在就返回负数
    }
}
输出结果:
5 5 5 5 5
5 5 8 8 5
7 8 1 2 3 6 9 5 4
1 2 3 4 5 6 7 8 9
false
true
2
-10

整理Java基础知识--数组2

标签:key   基础知识   返回值   对象   多维数组   fill   查找   二维   bool   

原文地址:http://blog.51cto.com/12431776/2060684

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!