笔记整理 来源于《Java核心技术卷 I 》 《Java编程思想》
 
允许数组长度为0
new element[0] 数组长度为0与null不同
 

1. 数组拷贝

允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组:
int[] ele1 = ele2;
ele1[5] = 12; //now ele2[5] is also 12
 
如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyTo方法:
int[] copiedele = Arrays.copyOf(ele1,ele1.length);
第2个参数为数组的长度,通常用来增加数组的大小。

2. 命令行参数

每个java应用程序都有一个带String arg[]参数的main方法。这个参数表明main方法将接受一个字符串数组,也就是命令行参数。
 

3. API

java.util.Arrays 1.2

 
static String toString(type[] a) 5.0
返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔。
参数:a 类型为int、long、short、byte、boolean、float或double的数组
 
static type copyOf(type[] a,int length)  
staitc type copyOf(type[] a,int start,int end)  
返回与a类型相同的一个数组,其长度为length或者start-end数组元素为a的值
参数:a 类型为int、long、short、byte、boolean、float或double的数组
             start 起始下标 包含这个值
             end 终止下标 不包含这个值,这个值可能大于a.length,在这种情况下,结果为0或false。
             length 拷贝的数据元素长度.如果length值大于a.length,结果为0或false;否则,数组中只有前面length个数据元素的拷贝值
 
static void sort(type[] a)
采用优化的快速排序算法对数组进行排序
参数:a 类型为int、long、short、byte、boolean、float或double的数组
 
static int binarySearch(type[] a,type v)
static int binarySearch(type[] a,int start,int end,type v)  
采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值,否则,返回一个负数值r。-r-l是为保持a为有序v应插入的位置。
参数:  a 类型为int、long、short、byte、boolean、float或double的数组
             start 起始下标(包含这个值)
             end  终止下标(不包含这个值)
             v 同a的数据元素类型相同的值
 
static void fill(type[] a type v)
将数组的所有数据元素值设置为v
参数:a 类型为int、long、short、byte、boolean、float或double的数组
         v 同a的数据元素类型相同的值
 
static boolean equals(type[] a type[] b)
如果两个数组大小相同,并且下标相同的元素都对应相等,返回true
参数 a,b类型为int、long、short、byte、boolean、float或double的数组
 

4. 多维数组

foreach 需要两个嵌套的循环
 
快速打印
System.out.println(Arrays.deepToString(a));
 

5. 不规则数组

Java实际上没有多维数组,多维数组被解释为 数组的数组。

Java基础语法<六> 数组 Arrays的更多相关文章

  1. Java基础语法(7)-数组

    title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并 ...

  2. Java基础语法(8)-数组中的常见排序算法

    title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...

  3. Java基础语法(数组)

    第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...

  4. JavaSE入门学习9:Java基础语法之数组

    一数组的定义 数组能够理解为是一个巨大的"盒子",里面能够按顺序存放多个类型同样的数据.比方能够定义int型的数组 scores存储4名学生的成绩. watermark/2/tex ...

  5. Java基础语法:数组

    一.简介 描述: 数组是相同类型数据的有序集合. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 基本特点: 数组的长度是确定的.数组一旦被创建,它的大小就是不可以改变的. ...

  6. Java基础语法(三)---数组

    一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ...

  7. Java基础语法(9)-面向对象之类的成员

    title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...

  8. Java基础语法(10)-面向对象之三大特征

    title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...

  9. 2、Java 基础语法标识符、修饰符、变量、 数组、枚举、关键字

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

随机推荐

  1. jQuery 3.0最终版发布,十大新特性眼前一亮

    jQuery 3.0在日前发布了最终的全新版本.从2014年10月,jQuery团队对这个主要大版本进行维护开始,web开发者社区便一直在期待着这一刻的到来,终于在2016年6月他们迎来了这一个最终板 ...

  2. Angular组件——父子组件通讯

    Angular组件间通讯 组件树,1号是根组件AppComponent. 组件之间松耦合,组件之间知道的越少越好. 组件4里面点击按钮,触发组件5的初始化逻辑. 传统做法:在按钮4的点击事件里调用组件 ...

  3. [Bzoj 2547] [Ctsc2002] 玩具兵

    2547: [Ctsc2002]玩具兵 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 317  Solved: 152[Submit][Status] ...

  4. CXF SOAP 及其安全控制

    通过上一篇文章,相信您已经学会了如何使用 CXF 开发基于 SOAP 的 WS 了.或许您目前对于底层原理性的东西还不太理解,心中难免会有些疑问: 什么是 WSDL? 什么是 SOAP? 如何能让 S ...

  5. 设计模式 --> (7)外观模式

    外观模式 外观模式为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 适用性 1.为一个复杂子系统提供一个简单接口. 2.提高子系统的独立性. ...

  6. Dependency Walker的替代品Dependencies

    在c++时代, Dependency Walker基本上是大部分程序员必备的工具之一,很可惜的是从2006起就不更新了.而且只支持vc的名字undemangle, https://github.com ...

  7. Java基础学习笔记六 Java基础语法之类和ArrayList

    引用数据类型 引用数据类型分类,提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类.我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner ...

  8. 听翁恺老师mooc笔记(6)--指针运算

    指针值加1就是将指针值加上sizeof(指针所指变量的类型) 1+1=2,那么指针加1是加上了1这个数字吗?试一下,在代码中定义了char数组,char也是整数,数组名是ac,ac中有10个元素,0- ...

  9. 结对作业NO.2

    结对NO.2 1. 引言 1.1 项目地址 github 生成的一组好数据 1.2 项目简介 按照老师给的项目要求:"编码实现一个部门与学生的智能匹配的程序".由于数据需要自己生成 ...

  10. 20162320刘先润第三周Bag类测试

    前言 以下内容是本周Bag代码的课后作业,要求是完成伪代码.产品代码和测试代码,为了书写方便我将伪代码以注释的形式写在了产品代码的后面 测试步骤 1.首先对Bag类引用BagInterface的代码进 ...