数组总结

来源:互联网 发布:信息收集软件 编辑:程序博客网 时间:2024/06/11 21:26

匿名数组

package com.Demo_2;import java.util.Arrays;public class ShuZu {    public static void main(String[] args){        int[] a=new int[3];//创建一个数组大小为3的数组        //int[] a={1,2,3,9,10};数组的初始化,直接使用int[] a={};不需要使用new        a=new int[] {13,19,22};        int[] anonymous={13,11,10};        a=anonymous;//创建一个匿名数组,同时是数组a的引用指向匿名数组,修改数组a        System.out.println(Arrays.toString(a));        /*for(int i=0;i<20;i++)        {            a[i]=i;            System.out.println(Arrays.toString(a));        }*/    }}

数组拷贝 排序

public static void arraycopy(from, fromIdex, to, toIdex, count) 

from 表示原数组,fromIdex表示原数组的开始点。to表示目标数组,toIdex表示目标数组的开始点,count表示复制长度。

int[] b={1,2,3,4,5,9,10};        System.arraycopy(b,0,b,3,3);        System.out.println(Arrays.toString(b));

System.arraycopy(),实现过程,是先将原数组b从第0个索引开始,将三个数组放入一个临时数组中{1,2,3},再到目标数组中b第三个索引后开始拷贝。
运行结果为[1,2,3,1,2,3,10]。
但是新生成的数组b不能超过原数组b的长度,否则会出现越界异常。

 Arrays.sort(a);

参数a的类型只能是 int long short char byte boolean float double类型
使用了优化的快速算法,将数组a排序。

命令行参数

每一个Java应用程序都有一个带String[] args参数的main方法,这个参数表名main方法将接受一个字符串数组,也就是命令行参数。在cmd命令行运行,将数据传入数组中。

For each循环

For each循环的格式如下

forvariable : collection)statement

collection为数组或集合
例如:

for(int element:a)    System.out.println(element);

相当于:

for(int i=0;i<a.length;i++){    System.out.println(a[i])}

for each语句是java5的新特征之一,在遍历数组、集合方面,for each为开发人员提供了极大的方便。
for each语句是for语句的特殊简化版本,但是for each语句并不能完全取代for语句,然而,任何的for each语句都可以改写为for语句版本。
for each并不是一个关键字,习惯上将这种特殊的for语句格式称之为“for each”语句。从英文字面意思理解for each也就是“for 每一个”的意思。实际上也就是这个意思。
for each的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
foreach语句的局限性
通过上面的例子可以发现,如果要引用数组或者集合的索引,则for each语句无法做到,for each仅仅老老实实地遍历数组或者集合一遍。

0 0
原创粉丝点击